C# Operators
It is not complete reference of the c# operators.
I dump here only operators you can often forget or don’t remember how they are called.
Operators
Primary Operators
| Expression |
Description |
| x?.y |
Conditional member access |
| a?[x] |
Conditional array and indexer access |
| new T(…){…} |
Object creation with initializer |
| new {…} |
Anonymous object initializer |
| new T[…] |
Array creation |
| typeof(T) |
Obtain System.Type object for T |
| default (T) |
Obtain default value of type T |
| delegate {} |
Anonymous function (anonymous method) |
| x is T |
Return true if x is a T, false otherwise |
| x as T |
Return x typed as T, or null if x is not a T |
| (T x) => y |
Anonymous function (lambda expression) |
Logical, Conditional, and Null Operators
| Category |
Expression |
Description |
| Logical AND |
x & y |
Integer bitwise AND, Boolean logical AND |
| Logical XOR |
x ^ y |
Integer bitwise XOR, boolean logical XOR |
| Logical OR |
x | y |
Integer bitwise OR, boolean logical OR |
| Conditional AND |
x && y |
Evaluates y only if x is true |
| Conditional OR |
x || y |
Evaluates y only if x is false |
| Null coalescing |
x ?? y |
Evaluates to y if x is null, to x otherwise |
| Conditional |
x ? y : z |
Evaluates to y if x is true, z if x is false |
| Bitwise negation |
~x |
Bitwise negation |
Math operators
| Operator |
Description |
| % |
Remainder |
Shift operators
| Operator |
Description |
| x « y |
Shift left |
| x » y |
Shift right |
Sole ternary operator
var success = x == 10 ? true: false;
Overloadable Operators
Read in C# Guide