我正在转换在 Java 中有效但在 C# 中无效的代码
byte[] buffer = new byte[64];
this.buffer[((int)this.count & 0x3F)] = -128;
这会生成编译时错误“常量值‘-128’无法转换为‘字节’。”如何存储一个字节的负数?
最佳答案
在 C# 中,一个 byte
表示一个 unsigned 8 位整数,因此不能包含负值(有效值范围从 0
到 255
)。另一种方法是 sbyte
,它是一个 signed 8 位整数(有效值从 -128
到 127
) .
关于c# - 为什么不能在字节变量中存储负值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939257/