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

我们将讨论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操作符的一些主要区别:
- 有两种类型的逻辑运算符(&, | 和 ^):
- 接受bool参数的运算符
- 接受整数参数的运算符
后者通常被称为位运算符,因为它们通常被用来进行位运算。前者很少使用,因为有 "短路 "之说。条件运算符(&&,||)则没有这样的划分,它们总是采取bool操作数。
- 在逻辑运算符的情况下,即使表达式的整体值可以通过评估第一个操作数来确定,第二个操作数也总是被评估。
因此,如果你有a & b,那么即使a是假的,b也会被评估,因此a & b也必须是假的。在条件运算符的情况下,使用的是 "短路 "评估。如果你有一个&&b,而a是假的,那么编译器就不会去评估b了。
总结
总结一下对C#和OR操作符的理解,C#中有两个OR操作符,即bitwise/logical和conditional。前者需要ool或整数参数,只有在操作数都是假的情况下才是假的。后者总是接受bool操作数,取决于第二个操作数来决定运算符的输出是TRUE还是FALSE。