Home >Backend Development >C#.Net Tutorial >C# OR Operator
The following article provides an outline for 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. However, 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.
This article discusses the C# OR operator and compares and differentiates both C# logical and conditional OR operators.
Following are the top comparison of C# 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.
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.
Category | Operator | Associativity |
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 |
There are two types of logical operators (&, | and ^)
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.
The above is the detailed content of C# OR Operator. For more information, please follow other related articles on the PHP Chinese website!