c# - 为什么不能在字节变量中存储负值?

标签 c# byte

我正在转换在 Java 中有效但在 C# 中无效的代码

byte[] buffer = new byte[64];
this.buffer[((int)this.count & 0x3F)] = -128;

这会生成编译时错误“常量值‘-128’无法转换为‘字节’。”如何存储一个字节的负数?

最佳答案

在 C# 中,一个 byte 表示一个 unsigned 8 位整数,因此不能包含负值(有效值范围从 0255)。另一种方法是 sbyte,它是一个 signed 8 位整数(有效值从 -128127) .

关于c# - 为什么不能在字节变量中存储负值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939257/

相关文章:

c# - 尝试在本地 iis 上运行 vs 2012 网站时出现编译器错误

c# - 如何从字符串中删除无效代码点?

c# - Linq - 如何进行两个选择查询?

C# 将字节添加到文件的开头?

ios - 如何从 NSString 获取特定字节长度的子字符串

java - 如何在java中屏蔽字节来获取条件

c# - C# 中列表的通用序列化

c# - 查找所有打开的 Excel 工作簿

c++ - 如何将包含字节的字符串转换为 C++ 中的字节数组?

Java 字节缓冲区覆盖字节