Introduction to C# OR Operator
C# OR Operator is a simple, modern, general-purpose, object-oriented programming language developed by Microsoft within its .NET initiative led by Anders Hejlsberg. C# is a programming language based on C and C++ programming languages. Features like supporting exception handling, multiple types of polymorphism, and separation of interfaces from implementations combined with its powerful development tools, multi-platform support, and generics, make C# a good choice for many types of software development projects. C# is used in essentially all of Microsoft products. It is mainly used for developing desktop applications and, more recently, Windows 8/10 applications. It is also a part of .NET so it is used alongside languages like ASP in web development and apps. According to a survey stack overflow, below is a chart with the user statistics percentage by the language. The below numbers are the response of professional developers.
In this article, we discuss the C# OR operator and compare and differentiate both C# logical and conditional OR operators.
Head to Head Comparison of C# or Operator
- C# Bitwise OR Operator
Binary | Operator is predefined for the integral types and bool. For integral types, the | computes the bitwise OR of the operands. For bool operands | computes the Logical OR of the operands that are the result is false only if both the operands are false.
- C# Conditional OR Operator
The conditional OR || performs a logical OR of its bool operands. If the first operand evaluates to true, the second operand isn’t evaluated. If the first operand evaluates to false, the second operator determines whether the OR expression as a whole evaluates to true or false.
Below is a table with all the C# operators. The ones with the highest precedence appear at the top of the table and the ones with the lowest precedence appear at the bottom of the table.
|Postfix||()  -> . ++ – –||Left to right|
|Unary||+ – ! ~ ++ – – (type)* & size||Right to left|
|Multiplicative||* / %||Left to right|
|Additive||+ –||Left to right|
|Shift||<< >>||Left to right|
|Relational||< <= > >=||Left to right|
|Equality||== !=||Left to right|
|Bitwise AND||&||Left to right|
|Bitwise XOR||^||Left to right|
|Bitwise OR|||||Left to right|
|Logical AND||&&||Left to right|
|Logical OR||||||Left to right|
|Conditional||?:||Right to left|
|Assignment||= += -= *= /= %=>>= <<= &= ^= |=||Right to left|
|Comma||,||Left to right|
Key Differences bewteen C# vs Operation
There are two types of logical operators (&, | and ^)
- Those that take bool arguments.
- Those which take integer arguments.
The latter is often referred to as bitwise operators because they are normally used to perform bit arithmetic. The former is seldom used because of the ‘short-circuiting’ point. There is no such division for the conditional operators (&&, ||) which always take bool operands. In the case of the logical operators, the second operand is always evaluated even if the overall value of the expression can be determined just by evaluating the first operand. So, if you have a & b, then b will still be evaluated even if a is false and a & b must, therefore, be false also. In the case of the conditional operators, a ‘short circuit’ evaluation is used. If you have a && b and a is false, then the compiler doesn’t bother to evaluate b.
To sum up the understanding of C# OR Operator, there are two OR operators in C#, bitwise/logical and conditional. The former takes up bool or integer arguments and is false only if both the operands are false. The latter always takes bool operands depends on the second operand to determine whether the operator output is TRUE or FALSE.
This has been a guide to C# OR Operator. Here we have discussed Two types of head to head comparison, a chart with the user statistics percentage by the language, a table with all the C# operators. You can also go through our given articles to learn more-