关于 c#:Operator ‘

Operator '&' cannot be applied to operands of type 'string' and 'int'

我正在将字符串转换为十六进制,然后执行


hexoutput 是一个字符串;字符串和整数之间没有定义的 & 操作 - 你在问题中打错了吗?如果您尝试应用字节掩码,则当值是某种整数/字节时,您必须这样做;不是字符串。

例如,以下是可行的,但有点毫无意义:

1
buffer[0] = (byte) (Convert.ToByte(hexoutput, 16) & 0xFF);

还有一个重大错误是您的 hexoutput 变量是在循环内部定义的,但在外部访问,再次表明显示的代码不是实际代码 - 这会产生编译器错误:

The name 'hexoutput' does not exist in the current context


您正在尝试在字符串(十六进制输出)和整数(0xFF)之间进行按位与。你不能那样做。

但归根结底,如果您的目标是拥有一个字节数组,那么您为什么首先将其转换为十六进制格式的字符串?您应该能够:

1
buffer[0] = value & 0xFF;