我不能将字节放入字节数组

时间:2018-12-18 16:42:04

标签: c# arrays byte

string cetvrtadva = textBox76.Text.Substring(12, 2);   
byte cetvrtadvaa = byte.Parse(cetvrtadva, 
System.Globalization.NumberStyles.AllowHexSpecifier);
byte[] xor = { 0x09 ^ 0x45 ^ 0x3a ^ 0x08 ^ cetvrtadvaa };

为什么我不能将字节添加到字节数组?

  

错误:无法将int隐式转换为字节。

1 个答案:

答案 0 :(得分:0)

问题在于您不是将字节放入数组,而是将一个整数放入

cetvrtadvaa确实是一个字节,但是您在xor操作中使用的所有其他数字(0x09、0x45等)都是整数。因此,在实际完成^之前,cetvrtadvaa会转换为int,以便操作的两面都具有相同的类型。

因此,您需要将结果显式回退:

byte[] xor = { (byte)(0x09 ^ 0x45 ^ 0x3a ^ 0x08 ^ cetvrtadvaa) };