我在第二个和第二个C#代码中遇到错误第3行
byte Data = 0x00;
Data = Data | 0x80;
Data = Data >> 1;
编译器说:不能隐式转换类型' int'到'字节'。存在显式转换(您是否错过了演员?)
但是我成功地在C中运行了这个代码" Data"作为unsigned char。
如何在C#中做到这一点?
感谢您的帮助。
答案 0 :(得分:2)
为防止转换为int,您可以使用赋值运算符
byte Data = 0x00;
Data |= 0x80;
Data >>= 1; // result is 0x40
答案 1 :(得分:1)
明确表达:
byte Data = 0x00;
Data = (byte)(Data | 0x80);
Data = (byte)(Data >> 1);
或将日期声明为int并在结尾处转换为byte(如果您确定它适合字节)
int Data = 0x00;
Data = Data | 0x80;
Data = Data >> 1;
byte bData = (byte)Data;