在从另一个人的 VB.net 项目到 C# 的一些代码转换过程中,我遇到了以下代码:
Public Sub New(ByVal lbytModuleAddress As Byte, ByVal lbytRelayStateMask As Byte)
Dim lintCounter As Integer
mbytModuleAddress = lbytModuleAddress
For lintCounter = 0 To 7
If lbytRelayStateMask And (2 ^ lintCounter) Then
mblnRelayState(lintCounter) = True
Else
mblnRelayState(lintCounter) = False
End If
Next
End Sub
现在我试图将其转换为 C#,但我对这一行的确切含义有点困惑:
If lbytRelayStateMask And (2 ^ lintCounter) Then
有人可以启发我吗?似乎在幕后发生了一些事情(我必须进一步检查)但是在我这样做之前,我只想澄清这个 if 语句的结果。
我是否正确地说如果任何一个子表达式等于 0 则为假,否则为真?抱歉,我在 VB.net 上的速度不太快。