C# Operators
Let's look at operators in C#, shall we? 😁
is operator
This operator evaluates the type of a variable (type compatibilty):
var color = "purple";
if (color is string)
{
Console.WriteLine(color);
}
increment and decrement
These operators are ++ and -- which add and respectively substract 1 from a number.
The interesting thing here is that we can put these operators before or after the variable.
var number = 1;
Console.WriteLine(number); // 1
Console.WriteLine(number++); // 1
Console.WriteLine(++number); // 3
Usage
Whenever you want to use a variable during a statement and then increment, put the ++ operator after.
If you want to first increment and then use the variable during that statement, put the ++ operator before.
So:
- number++ – use, then increment
- ++number – increment, then use
&& and ||
One interesting thing about the && operator is short-circuiting.
If we have any object, we can use the && operator to type safe code:
- in the first part we check if it's diffferent than
null - if it is, we can call properties and method on it
List<int> numbers = null;
if (numbers != null && numbers.Contains(0))
{
...
}
But if we replace && with ||, it throws a NullReferenceException exception.
Why? 😱
Because of short-circuiting: whenever we use the && operator and the first part is false, then the compiler doesn't even bother continuing. C# offers also these operators: & and |, but they don't short-circuit.