C++中C#和OR运算符的区别介绍

140 阅读3分钟

C# and OR Operator

C#和OR运算符的区别

C#是一种简单的、现代的、通用的、面向对象的编程语言,由微软在Anders Hejlsberg领导的.NET计划中开发。C#是一种基于C和C++编程语言的编程语言。诸如支持异常处理、多种类型的多态性、接口与实现的分离等特性,加上其强大的开发工具、多平台支持和泛型,使C#成为许多类型的软件开发项目的良好选择。C#基本上被用于所有的微软产品中。它主要用于开发桌面应用程序,最近还用于开发Windows 8/10应用程序。它也是.NET的一部分,在网络开发和应用程序中与ASP等语言一起使用。根据stack overflow的调查,下面是一张按语言统计的用户百分比图。下面的数字是专业开发人员的反应。

C# and OR Operator Statistics

我们将讨论C#和OR运算符,并比较和区分C#的逻辑和条件OR运算符。

C#和OR运算符的比较

以下是C#和OR操作符的比较。

1.1.C#比特OR操作符

二进制|运算符是针对积分类型和bool预定义的。对于积分类型,|计算操作数的位数OR。对于bool操作数,|计算操作数的逻辑OR,只有当操作数都为假时,结果才为假。

2.C#条件OR操作符

条件性OR ||对其bool操作数进行逻辑OR。如果第一个操作数的值为真,则不考虑第二个操作数。如果第一个操作数的值是假的,第二个操作数决定整个OR表达式的值是真还是假。

3.操作符优先级

下面是一个包含所有C#操作符的表格。优先级最高的出现在表的顶部,重要性最低的出现在底部。

类别操作符关联性
后缀() [] -> .++ - -从左到右
单数+-!~ ++ - - (类型)* & sizeof从右到左
乘法的* / %从左到右
加法+ -从左到右
移位<< >>从左到右
关系式< <= > >=从左到右
平等性== !=从左到右
位数和&从左到右
位数XOR^从左到右
位数OR|从左到右
逻辑与&&从左到右
逻辑OR||从左到右
条件性?:从右到左
赋值= += -= *= /= %=>>= <<= &= ^= |=从右到左
逗号,从左到右

C#和OR操作符之间的主要区别

C#和OR操作符都是市场上流行的选择;让我们讨论一下C#和OR操作符的一些主要区别:

  • 有两种类型的逻辑运算符(&, | 和 ^):
  1. 接受bool参数的运算符
  2. 接受整数参数的运算符

后者通常被称为位运算符,因为它们通常被用来进行位运算。前者很少使用,因为有 "短路 "之说。条件运算符(&&,||)则没有这样的划分,它们总是采取bool操作数。

  • 在逻辑运算符的情况下,即使表达式的整体值可以通过评估第一个操作数来确定,第二个操作数也总是被评估。

因此,如果你有a & b,那么即使a是假的,b也会被评估,因此a & b也必须是假的。在条件运算符的情况下,使用的是 "短路 "评估。如果你有一个&&b,而a是假的,那么编译器就不会去评估b了。

总结

总结一下对C#和OR操作符的理解,C#中有两个OR操作符,即bitwise/logical和conditional。前者需要ool或整数参数,只有在操作数都是假的情况下才是假的。后者总是接受bool操作数,取决于第二个操作数来决定运算符的输出是TRUE还是FALSE。