当有两个管道(||)挨着时,这意味着什么
本文关键字:什么 意味着 管道 两个 | 更新日期: 2023-09-27 18:20:07
使用中的一个例子是…
if (temp < 30 || temp > 90) { MessageBox.Show("Error"); }
两根管子在一起是什么意思?
一个管道是一个逻辑OR运算符,它总是计算两个操作数。
两个管道是短路逻辑OR运算符,它只在第一个操作数为false
时计算第二个操作数。如果第二个操作数是一个重函数,您不想对其进行不必要的求值,或者它可能引发异常,例如:,则这一点尤其有用
if(myList == null || myList.Count == 0){
//do something
}
在本例中,如果myList
是null
,则永远不会计算第二个操作数。如果我们使用一个管道,则第二个操作数将被求值,并将引发异常,因为myList
是null
。
C#中的管道|
(以及许多其他语言[除非在Java中使用单个管道作为逐位逻辑运算符])是逻辑运算符OR。
双管||
是快捷OR。这意味着,如果第一个条件为true,则操作将自动退出,因为其中一个条件已经为true。因此,OR必须为真。(因此,单个|
意味着它将在评估之前首先检查所有条件,这比较慢,通常没有用处)。
在您的示例中:
if (temp < 30 || temp > 90) { MessageBox.Show("Error"); }
temp < 30
:第一条件||
:逻辑ORtemp > 90
:第二个条件
这意味着,如果(第一个条件)或(第二个条件)为真,则显示"错误"。