我不明白这个逻辑与VB。我见过一个例子以恒定:这些带有条件逻辑的If语句的目的是什么?
Enum Turnos
Ninguno = 0 'nothing the constant is = 0
Desayuno = &H380 'breakfast the constant is = 896
comida = &H1E000 'lunch the constant is = 122888
Cena = &HE00003 'dinner the constant is = 14680067
end Enum
Sub Main()
Console.WriteLine("Es la hora {0:hh:mm:ss tt}", DateTime.Now)
Console.WriteLine("Turno: {0:G}", QuéTurnoEsAhora())
Console.ReadKey()
End Sub
Public Function QuéTurnoEsAhora() As Turnos
Dim ahora As Integer = CInt(Math.Pow(2, DateTime.Now.Hour))
If (ahora And Turnos.DESAYUNO) <> 0 Then Return Turnos.DESAYUNO
If (ahora And Turnos.COMIDA) <> 0 Then Return Turnos.COMIDA
If (ahora And Turnos.CENA) <> 0 Then Return Turnos.CENA
Return Turnos.NINGUNO
End Function
使用下面的函数
'If (ahora and Turnos.DESAYUNO) <> 0 then returns Turnos.DESAYUNO
我的问题是,为什么(ahora而Turnos.DESAYUNO))是<> 0?而下一个功能
'If (ahora And Turnos.COMIDA) = 0'
对不起,我不明白哪个是逻辑。有人能帮助我吗?
? – Ares
为什么不解释*你想要做什么? – Plutonix
你的结构'&H ...'不正确:) – Codexer