在Java中,这将返回字符串“ -128”;
byte[] remaining = new byte[total- entred];
remaining[0] = (byte)0x80;
如何用C#编写呢? (字节)0x80;似乎无法在C#中工作
最佳答案
在Java中,字节是带符号的。因此在C#中:
sbyte[] remaining = new sbyte[total- entred];
remaining[0] = unchecked((sbyte)0x80);
或更简单:
remaining[0] = -128;
坦率地说,谈论
byte
(无符号)通常比sbyte
更有意义。在Java代码中,它可能使用带符号的字节,因为这是它可以使用的,而不是因为它实际上想使用带符号的字节。