во время некоторого преобразования кода из проекта 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
Теперь я пытаюсь преобразовать это в С#, но я немного запутался в точном значении этой строки:
If lbytRelayStateMask And (2 ^ lintCounter) Then
Может кто-нибудь просветить меня? Похоже, что-то происходит за кулисами (что мне нужно будет изучить дальше), однако, прежде чем я это сделаю, я просто хотел бы уточнить результат этого оператора if.
Правильно ли я говорю, что если одно из подвыражений равно нулю, то оно ложно, иначе истинно? Извините, я не слишком разбираюсь в VB.net.