关于 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;

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/269559.html

(0)
上一篇 2022年6月22日 11:38
下一篇 2022年6月22日 11:38

相关推荐

发表回复

登录后才能评论