Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当两个管道(| |)相邻时,这意味着什么?_C# - Fatal编程技术网

C# 当两个管道(| |)相邻时,这意味着什么?

C# 当两个管道(| |)相邻时,这意味着什么?,c#,C#,正在使用的一个例子是 if (temp < 30 || temp > 90) { MessageBox.Show("Error"); } 两个管道| |在一起意味着什么?一个管道是一个逻辑OR运算符,它总是计算两个操作数 两个管道是短路逻辑OR运算符,它仅在第一个操作数为false时计算第二个操作数。如果第二个操作数是一个重函数,您不想对其进行不必要的求值,或者它可能引发异常,则这一点尤其有用,例如: if(myList == null || myList.Count == 0){

正在使用的一个例子是

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中的管道]是逻辑运算符或

双管| |是捷径或捷径。这意味着如果第一个条件为真,那么操作将自动退出,因为一个条件已经为真。因此,或必须是真的。因此,单个|意味着它将在求值之前首先检查所有条件,这比较慢而且通常没有用处

在您的示例中:

if (temp < 30 || temp > 90) { MessageBox.Show("Error"); }
温度<30:第一个条件 ||:逻辑或 温度>90:第二种情况
这意味着,如果第一个条件或第二个条件为真,则显示错误。

这意味着您尚未对@PUROTIX进行任何研究,您的评论应标记为已接受:P@Scootaloo欢迎来到SO社区!抱歉,评论中有很多讽刺,但大多数人都会尽力帮助你。只是这在编程中是一个相对简单的想法。为什么所有这些答案都被否决了?答案不错,是吗?