为什么在vb.net中使用And运算符

38 浏览
0 Comments

为什么在vb.net中使用And运算符

我在检查多个条件时总是使用AndAlso,因为除非左侧为true,否则它不会评估右侧。我不认为有任何情况需要在左侧失败时评估右侧。如果需要,为什么他们不在C#中包括相同的内容。

更新:

正如接受的答案指出它存在于位运算中,这已足够好,但我仍然认为他们本应该对And运算符进行重载来服务于两种目的,并且不应该创建AndAlso。如果有人能为此提供一些启示,这个问题仍然开放:)

admin 更改状态以发布 2023年5月20日
0
0 Comments

And是位运算符。以下是一个同时使用And和AndAlso的示例。

    Dim foo? As Integer = 5
    If foo.HasValue AndAlso (foo And 1) = 1 AndAlso (foo And 4) = 4 Then
        Stop
    End If

0
0 Comments

他们也在 C# 中包括了相同的内容。在 C# 中,您可以使用 &(And)或 &&(AndAlso)。

当比较 布尔值 时,我想不出任何实际用例,但是可以将 And 用于数值,然后进行位比较。这就是它存在的原因。但是在比较布尔类型时,您将始终使用短路版本。

0