C# 在c上将字节转换为布尔值#

C# 在c上将字节转换为布尔值#,c#,arduino,rfid,raspberry-pi2,windows-10-iot-core,C#,Arduino,Rfid,Raspberry Pi2,Windows 10 Iot Core,我正在尝试基于arduino库()在c#上创建一个到物联网核心的库,但我不明白什么是: if (!(temp & 0x03)) 或 这是必需的布尔值,但这些是字节! 我如何转换这个 如果有人知道图书馆已经建成,请告诉我。 谢谢。在C中,任何非零表达式都隐式为真,而零则为假。在C#中,您需要进行明确的比较: if ((temp & 0x03) == 0) 及 或者,您可以使用: 请注意,bool只是System.Boolean的语法糖,您本可以使用而不是bool您是否尝试使用C

我正在尝试基于arduino库()在c#上创建一个到物联网核心的库,但我不明白什么是:

if (!(temp & 0x03))

这是必需的布尔值,但这些是字节! 我如何转换这个

如果有人知道图书馆已经建成,请告诉我。
谢谢。

在C中,任何非零表达式都隐式为真,而零则为假。在C#中,您需要进行明确的比较:

if ((temp & 0x03) == 0)

或者,您可以使用:


请注意,
bool
只是
System.Boolean
的语法糖,您本可以使用而不是
bool

您是否尝试使用Convert.ToBoolean()?这里的括号对于C来说太多了:)此答案不正确<代码>!(n&0x01)在C中是
(n&0x01)==0
在C#中。@MatthewWatson非常正确,修正了!非常感谢你!!
if ((temp & 0x03) == 0)
while ((i!=0) && (n&0x01)==0 && (n&waitIRq)==0)
bool isTempAppropriate = (temp & 0x03) == 0;
if(isTempAppropriate) { ... }