In: Electrical Engineering
In C# code, how can we handle this dual nature of Y/y and N/n?
In C#, an operator is a program element that is applied to one or more operands in an expression or statement. Operators that take one operand, such as the increment operator (++) or new, are referred to as unary operators. Operators that take two operands, such as arithmetic operators (+,-,*,/), are referred to as binary operators. One operator, the conditional operator (?:), takes three operands and is the sole ternary operator in C#.
The following C# statement contains a single unary operator and a single operand. The increment operator, ++, modifies the value of the operand y.
The following C# statement contains two binary operators, each with two operands. The assignment operator, =, has the integer variable y and the expression 2 + 3 as operands. The expression 2 + 3 itself consists of the addition operator and two operands, 2 and 3.
The following C# statement contains two binary operators, each with two operands. The assignment operator, =, has the integer variable y and the expression 2 + 3 as operands. The expression 2 + 3 itself consists of the addition operator and two operands, 2 and 3.
The following C# statement contains two binary operators, each with two operands. The assignment operator, =, has the integer variable y and the expression 2 + 3 as operands. The expression 2 + 3 itself consists of the addition operator and two operands, 2 and 3.
operaters, evaluation and operator precedence
An operand can be a valid expression that is composed of any length of code, and it can comprise any number of sub expressions. In an expression that contains multiple operators, the order in which the operators are applied is determined by operator precedence, associativity, and parentheses.
Each operator has a defined precedence. In an expression that contains multiple operators that have different precedence levels, the precedence of the operators determines the order in which the operators are evaluated. For example, the following statement assigns 3 to n1.
n1 = 11 - 2 * 4;
The multiplication is executed first because multiplication takes precedence over subtraction.
The following table separates the operators into categories based on the type of operation they perform. The categories are listed in order of precedence.
Expression | Description |
---|---|
x.y x?.y |
Member access Conditional member access |
f(x) | Method and delegate invocation |
a[x] a?[x] |
Array and indexer access Conditional array and indexer access |
x++ | Post-increment |
x-- | Post-decrement |
new T(...) | Object and delegate creation |
new T(...){...} | Object creation with initializer. See Object and Collection Initializers. |
new {...} | Anonymous object initializer. See Anonymous Types. |
unary operators
Expression | Description |
---|---|
+x | Identity |
-x | Negation |
!x | Logical negation |
~x | Bitwise negation |
++x | Pre-increment |
--x | Pre-decrement |
(T)x |
Explicitly convert x to type T |