【发布时间】:2018-12-18 16:42:04
【问题描述】:
string cetvrtadva = textBox76.Text.Substring(12, 2);
byte cetvrtadvaa = byte.Parse(cetvrtadva,
System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] xor = { 0x09 ^ 0x45 ^ 0x3a ^ 0x08 ^ cetvrtadvaa };
为什么我不能将字节添加到字节数组?
错误:无法将 int 隐式转换为 byte。
【问题讨论】:
-
如果你做了
var x = 0x09;它告诉你x是什么类型? -
异或创建一个整数,因此您必须大小写返回一个字节 byte[] xor = { (byte)(0x09 ^ 0x45 ^ 0x3a ^ 0x08 ^ cetvrtadvaa) };
-
这是设计使然,
byte ^ byte返回int,需要转换回byte。见C# XOR on two byte variables will not compile without a cast。