Operates are symbols that tell the compiler to perform a mathematical or logical operation. There are used to manipulate a variable or constant. And easy form of operator is the “+” operator, which tells to add a value to a variable.

Example:

int x = 3; x = x + 1;

Where x is an integer and the operator is telling the compiler to add the value ‘1’ to x. The final value of x will be 3.

In C#, the following types of operators are available:

**Arithmetic**operators – Used to perform mathematical operations, such as ‘addition’ and ‘subtraction’.**Relational**operators – used to check the relationship between two operands.**Comparison**operators – used to compare two literals or variables.**Assignment**operators – used to assign values to variables.**Logical**operators – used with Boolean data type and Boolean expression.**Bitwise**operators – used to perform operations on binary form of a numerical data.**Miscellaneous**Operators

**Arithmetic Operators**

Arithmetic operators are used to perform mathematical operations to variables, such as addition and subtraction.

Example:

int a = 6, b = 4; int z = a + b; // '+' is the operator in this example.

The table below represents the arithmetic operator available in C#:

Operator | Description | Example |
---|---|---|

+ | To adds two operands. | a + b |

- | To Subtracts second operand from the first. | a - b |

* | To multiplies the operands. | a * b |

/ | To divides numerator by de-numerator. | a / b |

% | To modulus Operator and remainder of after an integer division. | a % b |

++ | To Increment operator increases integer value by one. | a++ |

-- | To Decrement operator decreases integer value by one. | a-- |

More example of arithmetic operator:

class Program { static void Main(string[] args) { int a; int b; int c = 0; a = 10; b = 5; c = a + b; // + Console.WriteLine("Example of Addition operator:"); Console.WriteLine("a + b = " + c); // - c = a - b; Console.WriteLine("Example of Subtraction operator:"); Console.WriteLine("a - b = " + c); // * c = a * b; Console.WriteLine("Example of Multiplication operator:"); Console.WriteLine("a * b = " + c); // / c = a / b; Console.WriteLine("Example of Division operator:"); Console.WriteLine("a / b = " + c); // % c = a % b; Console.WriteLine("Example of Modulus operator:"); Console.WriteLine("a % b = " + c); // ++ c = ++a; Console.WriteLine("Example of Increment operator:"); Console.WriteLine("++a = " + c); // -- c = --b; Console.WriteLine("Example of Decrement operator:"); Console.WriteLine("--a = " + c); Console.ReadKey(); } }

Output

**Relational Operators**

Relational operators are used to check a relation between two oprends. The output is always true or false.

Example:

int x = 10; int y = 20; Boolean isEqual = (x == 20); // the value of isEqual is false

The table below represents the Rational operator available in C#:

Operator | Description | Example |
---|---|---|

==' | To checks if the values of two operands are equal. | a == b |

!= | To Checks if the values of two operands are not equal. | a != b |

> | To Checks if the value of left operand is greater than the value of right operand. | a > b |

< | To Checks if the value of left operand is less than the value of right operand. | a < b |

>= | To Checks if the value of left operand is greater than or equal to the value of right operand. | a >= b |

<= | To Checks if the value of left operand is less than or equal to the value of right operand. | a <= b |

**Comparison operator**

The comparison operator is to compare two operands. It returns a true or false, based on the value of the operands being compared.

The table below lists the complete Comparison operators in C#:

Let use the ‘x’ variable in the table below, assuming it’s equal to 5.

Operator | Description | Example |
---|---|---|

< | Less than | x < 5 (returns true) |

> | Greater than | x > 6 (returns false) |

<= | Less than equal to | x <= 5 (returns true) |

>= | Greater than equal to | x >= 5 (returns true) |

== | Equal equal to | x == 5 (returns true) |

!= | Not equal to | x != 5 (returns false) |

**Assignment Operators**

Assignment operators are used to assign values to variables. The following table contains the most used assignment operators in C#:

Operator | Description | Example |
---|---|---|

= | Simplest and most used assignment operator. Assigns values from right side operands to left side operand. | x = 1 + 1. result: x = 2 |

+= | Add and assignment operator. Adds right operand to the left operand then assign the result to left operand | x += 1, same as x = x + 1 |

-= | Subtract and assignment operator. Subtracts right operand from the left operand then assign the result to left operand | x -= 1, same as x = x - 1 |

*= | Multiply and assignment operator. Multiplies right operand with the left operand and assign the result to left operand | x *= 2, same as x = x * 2 |

/= | Divide and assignment operator. Divides left operand with the right operand then assign the result to left operand | x /= 2, same as x = x / 2 |

%= | Modulus and assignment operator. Takes modulus using two operands then assign the result to left operand | x %= 2, same as x = x % 2 |

Example of arithmetic operator:

static void Main(string[] args) { int x; x = 5; // = Console.WriteLine("Example of simple assignment operator:"); x = 5 + 5; Console.Write("x = 5 + 5, "); Console.WriteLine ("x = " + x); // += x = 5; x += 1; Console.WriteLine("Example of += operator:"); Console.Write("x += 1, "); Console.WriteLine("x =" + x); // -= x = 5; x -= 1; Console.WriteLine("Example of -= operator:"); Console.Write("x -= 1, "); Console.WriteLine("x = " + x); // *= x = 5; x *= 2; Console.WriteLine("Example of *= operator:"); Console.Write("x *= 2, "); Console.WriteLine("x = " + x); // /= x = 5; x /= 2; Console.WriteLine("Example of /= operator:"); Console.Write("x /= 2, "); Console.WriteLine("x = " + x); // %= x = 5; x %= 2; Console.WriteLine("Example of %= operator:"); Console.Write("x %= 2, "); Console.WriteLine("x = " + x); Console.ReadKey(); }

Output:

**Logical Operators **

Logical operators are used to perform logical operations between two operands. The operation always returns a Boolean value. The operators are used mainly in if statements and loops.

In C#, the representation of ‘and’ and ‘or’ are && and ||, respectively.

Below are the results returned from evaluation two operands using the operators “Or” and “And”:

Operator | Description | Example |
---|---|---|

&& | Logical “AND” operator. If one of the operands is false, then the result is false. | (a && b) |

|| | Logical “OR” Operator. If any of the two operands if true, then the result is true. | (a || b) |

! | Logical “NOT” Operator. This operator is uses to reverse the logic. If result is true, this operator will reserve it to false, and vise versa. | !(a && b) |

**Bitwise Operators**

Bitwise operators deal with bits on a bit to bit basis. The three Bitwise operators are:

- Bitwise OR |

Binary’ OR’ Operator. It copies a bit if it exists in either operand.

- Bitwise AND &

Binary ‘AND’ Operator. It copies a bit to the result if it exists in both operands.

- Bitwise XOR ^

Binary ’ XOR’ Operator. It copies the bit if it exists in one operand but not both.

- Bitwise Left Shift <<

Binary ‘Left Shift’ Operator. The left operands value is shifted left by the number of bits specified in the right operand.

- Bitwise Right Shift >>

Binary ‘Right Shift’ Operator. The left operands value is shifted Right by the number of bits specified in the right operand.

Example of Bitwise operator:

static void Main(string[] args) { int x = 30; int y = 9; int z = 0; z = x & y; Console.WriteLine("z = x & y value is {0}", z); z = x | y; Console.WriteLine("z = x | y value is {0}", z); z = x ^ y; Console.WriteLine("z = x ^ y value is {0}", z); z = ~x; Console.WriteLine("z = ~x value is {0}", z); z = x << 2; Console.WriteLine("z = x << 2 value is {0}", z); z = x >> 2; Console.WriteLine("z = x >> 2 value is {0}", z); Console.ReadLine(); Console.ReadKey(); }

**Miscellaneous Operators**

Other important operators in C# including **sizeof, typeof** and **&:**

Operator | Description | Example |
---|---|---|

sizeof() | Returns the size of a data type | sizeof(decimal), returns16. |

typeof() | Returns the type of a class | typeof(String); |

& | Returns the address of a variable. | &x; returns address of the variable. |