c# - 我不能将字节放入字节数组
问题描述
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。
解决方案
问题是您没有将一个字节放入数组,而是一个 int。
确实,cetvrtadvaa 是一个字节,但您在异或运算中使用的所有其他数字(0x09、0x45 等)都是整数。因此,在实际完成 ^ 之前,将 cetvrtadvaa 转换为 int 以便操作的双方具有相同的类型。
因此,您需要将结果显式转换回:
byte[] xor = { (byte)(0x09 ^ 0x45 ^ 0x3a ^ 0x08 ^ cetvrtadvaa) };
推荐阅读
- python - 如何使用轨迹栏进行交互式图像二值化?
- python - SimPy - 无限运行时错误
- postgresql - 刷新正在运行的 docker 容器中可用的 Postgres 扩展升级列表
- facebook - 如何在仪表板设置屏幕上更新移动应用程序 URL
- bash - 浮点值的 printf 输出错误“无效数字”
- selenium - 我无法使用 selenium 将密钥发送到输入元素。也试过用js
- python-3.x - (R1714) 95: modify_book:考虑将这些比较与“in”合并到“field in ('pages', 'price')”
- java - Keytool 卡在 openstack victoria 上创建的实例中
- python-3.x - 使用Python将excel中的一行拆分为其对应的列值
- python-3.x - Python:无法使用 if 语句让元组在字典中比较其中的元素