Operators in C#: Arithmetic, Comparison, Logical and More...

Operators in C#: Arithmetic, Comparison, Logical and More...

23 May 2024
Beginner
2.9K Views
21 min read
Learn with an interactive course and practical hands-on labs

Free C# Foundation Course: Learn C# In 21 Days

Operators in C#: An Overview

Operators play a crucial role in any Programming Language, including C#. They allow us to perform various operations on data types, making our code more efficient and concise. In this article, we will explore the different types of Operators in C# and understand how they can enhance our coding efficiency.

Different Types of Operators in C#

C# provides a wide range of operators that cater to different requirements. Let's take a look at the different types of operators in C#:

Types of Operator in C#

Read More - C# Interview Questions For Freshers

Arithmetic Operators

Arithmetic operators are used to perform mathematical calculations in C#. They include addition (+), subtraction (-), multiplication (*), division (/), and modulus (%). These operators allow us to manipulate numerical values and perform calculations with ease. For example, if we want to add two numbers together, we can simply use the addition operator (+).

Arithmetic Operators Example

 using System;namespace Arithmetic
{
class DNT
{
 static void Main(string[] args)
 {
 int result;
 int x = 10, y = 5;
 result = (x + y);
 Console.WriteLine("Addition Operator: " + result);
 result = (x - y);
 Console.WriteLine("Subtraction Operator: " + result);
 result = (x * y);
 Console.WriteLine("Multiplication Operator: "+ result);
 result = (x / y);
 Console.WriteLine("Division Operator: " + result);
 result = (x % y);
 Console.WriteLine("Modulo Operator: " + result);
 }
}
}

Explanation

This C# code in the C#  Compiler defines a console application that performs basic arithmetic operations. It initializes two integers (x=10 and y=5), then calculates and prints the results of addition, subtraction, multiplication, division, and modulo operations between these two numbers using appropriate operators.

Output

Addition Operator: 15
Subtraction Operator: 5
Multiplication Operator: 50
Division Operator: 2
Modulo Operator: 0

Read More - C# Interview Questions And Answers

Assignment Operators

Assignment operators are used to assign values to variables in C#. They include the simple assignment operator (=), as well as compound assignment operators such as +=, -=, *=, and /=. These operators not only assign values but also perform an operation simultaneously. For instance, the += operator adds the right-hand operand to the left-hand operand and assigns the result to the left-hand operand.

Assignment Operators Example

 using System;namespace Assignment {
 
class DNT {
// Main Function
static void Main(string[] args)
{
 // initialize variable x
 // using Simple Assignment
 // Operator "="
 int x = 15;
 // it means x = x + 10
 x += 10;
 Console.WriteLine("Add Assignment Operator: " + x);
 // initialize variable x again
 x = 20;
 // it means x = x - 5
 x -= 5;
 Console.WriteLine("Subtract Assignment Operator: " + x);
 // initialize variable x again
 x = 15;
 // it means x = x * 5
 x *= 5;
 Console.WriteLine("Multiply Assignment Operator: " + x);
 // initialize variable x again
 x = 25;
 // it means x = x / 5
 x /= 5;
 Console.WriteLine("Division Assignment Operator: " + x);
 // initialize variable x again
 x = 25;
 // it means x = x % 5
 x %= 5;
 Console.WriteLine("Modulo Assignment Operator: " + x);
 // initialize variable x again
 x = 8;
 // it means x = x << 2
 x <<= 2;
 Console.WriteLine("Left Shift Assignment Operator: " + x);
 // initialize variable x again
 x = 8;
 // it means x = x >> 2
 x >>= 2;
 Console.WriteLine("Right Shift Assignment Operator: " + x);
 // initialize variable x again
 x = 12;
 // it means x = x >> 4
 x &= 4;
 Console.WriteLine("Bitwise AND Assignment Operator: " + x);
 // initialize variable x again
 x = 12;
 // it means x = x >> 4
 x ^= 4;
 Console.WriteLine("Bitwise Exclusive OR Assignment Operator: " + x);
 // initialize variable x again
 x = 12;
 // it means x = x >> 4
 x |= 4;
 Console.WriteLine("Bitwise Inclusive OR Assignment Operator: " + x);
}
}
}

Explanation

This C# code demonstrates various assignment operators and their usage. It initializes an integer variable "x" and then performs operations like addition, subtraction, multiplication, division, modulo, left shift, right shift, bitwise AND, bitwise XOR, and bitwise OR using their corresponding assignment operators, modifying and printing the value of "x" at each step.

Output

Add Assignment Operator: 25
Subtract Assignment Operator: 15
Multiply Assignment Operator: 75
Division Assignment Operator: 5
Modulo Assignment Operator: 0
Left Shift Assignment Operator: 32
Right Shift Assignment Operator: 2
Bitwise AND Assignment Operator: 4
Bitwise Exclusive OR Assignment Operator: 8
Bitwise Inclusive OR Assignment Operator: 12

Comparison Operators

Comparison operators are used to compare values in C#. They include == (equality), != (inequality), > (greater than), < (less than), >= (greater than or equal to), and <= (less than or equal to). These operators return a Boolean value (true or false) based on the comparison result. For example, if we want to check if two numbers are equal, we can use the equality operator (==).

Comparison Operators: Example

 using System;
class Program
{
 static void Main(string[] args)
 {
 int num1 = 10;
 int num2 = 5;
 // Equal to
 bool isEqual = num1 == num2;
 Console.WriteLine($"{num1} == {num2} : {isEqual}");
 // Not equal to
 bool isNotEqual = num1 != num2;
 Console.WriteLine($"{num1} != {num2} : {isNotEqual}");
 // Greater than
 bool isGreater = num1 > num2;
 Console.WriteLine($"{num1} > {num2} : {isGreater}");
 // Less than
 bool isLess = num1 < num2;
 Console.WriteLine($"{num1} < {num2} : {isLess}");
 // Greater than or equal to
 bool isGreaterOrEqual = num1 >= num2;
 Console.WriteLine($"{num1} >= {num2} : {isGreaterOrEqual}");
 // Less than or equal to
 bool isLessOrEqual = num1 <= num2;
 Console.WriteLine($"{num1} <= {num2} : {isLessOrEqual}");
 }
}

Explanation

This C# program compares two integer variables, num1 and num2, using relational operators. It checks if num1 is equal to num2, not equal, greater than, less than, greater than or equal to, and less than or equal to num2. The results of these comparisons are printed on the console.

Output

10 == 5 : False
10 != 5 : True
10 > 5 : True
10 < 5 : False
10 >= 5 : True
10 <= 5 : False

Logical Operators

Logical operators are used to perform logical operations in C#. They include && (logical AND), || (logical OR), and ! (logical NOT). These operators are commonly used in conditional statements and loops. They allow us to combine multiple conditions and control the flow of our program based on the result. For instance, if we want to check if both condition A and condition B are true, we can use the logical AND operator (&&).

Logical Operators: Example

 using System;
namespace Logical { 
class DNT { 
// Main Function
static void Main(string[] args)
{
 bool a = true,b = false, result; 
 // AND operator
 result = a && b;
 Console.WriteLine("AND Operator: " + result); 
 // OR operator
 result = a || b;
 Console.WriteLine("OR Operator: " + result);
 // NOT operator
 result = !a;
 Console.WriteLine("NOT Operator: " + result); 
}
}
}

Explanation

This C# code in the C# Editor demonstrates the usage of logical operators. It initializes two boolean variables, 'a' and 'b', and then computes and prints the results of logical AND, OR, and NOT operations between these variables. The code shows how these operators combine and negate boolean values to produce logical results.

Output

AND Operator: False
OR Operator: True
NOT Operator: False

Bitwise Operators

Bitwise operators are used to perform operations at the bit level in C#. They include &, |, ^, ~, <<, and >>. These operators manipulate individual bits of an operand, allowing us to perform operations such as bitwise AND, bitwise OR, bitwise XOR, bitwise complement, left shift, and right shift. Bitwise operators are particularly useful in scenarios where we need to work with binary data or perform low-level operations.

Unary Operators

Unary operators are used to perform operations on a single operand in C#. They include ++ (increment), -- (decrement), + (positive), - (negative), ! (logical NOT), and ~ (bitwise complement). These operators allow us to modify the value of a variable or change its state based on specific conditions. For example, the increment operator (++) increases the value of a variable by 1.

Unary Operators: Example

 using System;namespace Arithmetic { 
class DNT { 
 static void Main(string[] args)
 { 
 int a = 10, res;
 res = a++;
 Console.WriteLine("a is {0} and res is {1}", a, res); 
 res = a--;
 Console.WriteLine("a is {0} and res is {1}", a, res);
 res = ++a;
 Console.WriteLine("a is {0} and res is {1}", a, res);
 res = --a;
 Console.WriteLine("a is {0} and res is {1}",a, res);
 }
}
}

Explanation

This C# code illustrates the post-increment (a++) and post-decrement (a--) operators, as well as the pre-increment (++a) and pre-decrement (--a) operators. It initializes an integer 'a', performs these operations, and prints 'a' and the result of each operation to demonstrate how these operators affect the variable's value.

Output

a is 11 and res is 10
a is 10 and res is 11
a is 11 and res is 11
a is 10 and res is 10

Ternary Operators

Ternary operators are unique to C# and allow us to write concise conditional expressions. The ternary operator (?:) takes three operands: a condition, a true expression, and a false expression. It evaluates the condition and returns the true expression if the condition is true, otherwise, it returns the false expression. Ternary operators are handy when we need to assign a value to a variable based on a condition in a single line of code.

Ternary Operators: Example

 using System;
class Program
{
 static void Main()
 {
 int number = 10;
 // Ternary operator to check if number is even or odd
 string evenOrOdd = (number % 2 == 0) ? "Even" : "Odd";
 Console.WriteLine($"The number {number} is {evenOrOdd}.");
 // Ternary operator to find the maximum of two numbers
 int a = 5, b = 8;
 int max = (a > b) ? a : b;
 Console.WriteLine($"The maximum of {a} and {b} is {max}.");
 // Ternary operator to determine if a person can vote
 int age = 17;
 string canVote = (age >= 18) ? "Yes" : "No";
 Console.WriteLine($"Can the person, who is {age} years old, vote? {canVote}.");
 }
}

Explanation

This C# program uses ternary operators to perform conditional operations in a concise way. It checks if 'number' is even or odd, finds the maximum of 'a' and 'b', and determines if a person can vote based on their 'age'. The results are then printed to the console. Ternary operators provide a compact way to write conditional expressions with a true/false outcome.

Output

The number 10 is Even.
The maximum of 5 and 8 is 8.
Can the person, who is 17 years old, vote? No

Precedence of Operators in C#

Operators in C# have different levels of precedence, which determines the order in which they are evaluated. It is essential to understand the precedence rules to avoid unexpected results in our code. For example, multiplication (*) has higher precedence than addition (+), so an expression like 2 + 3 * 4 will evaluate to 14, not 20. By understanding the precedence of operators, we can write code that accurately reflects our intended calculations.

Here is the Precedence of Operators in C#

Precedence Operator
Conclusion

In conclusion, operators are a fundamental aspect of C# programming. They allow us to perform various operations on various data types, enhancing our coding efficiency. By understanding the different types of operators in C#, their functionality, and the precedence rules, we can write code that is concise, efficient, and easy to understand. So, next time you write code in C#, remember to leverage the power of operators and take your coding efficiency to new heights!

Resources for further learning and practice

Online tutorials and courses: Explore Additional Learning and Practice Resources with us at https://www.scholarhat.com/training/csharp-certification-training

There are numerous online C# tutorials and courses available that specifically focus on C# language.

Take our Csharp skill challenge to evaluate yourself!

In less than 5 minutes, with our skill challenge, you can identify your knowledge gaps and strengths in a given skill.

GET FREE CHALLENGE

Share Article
About Author
Shailendra Chauhan (Microsoft MVP, Founder & CEO at Scholarhat by DotNetTricks)

Shailendra Chauhan is the Founder and CEO at ScholarHat by DotNetTricks which is a brand when it comes to e-Learning. He provides training and consultation over an array of technologies like Cloud, .NET, Angular, React, Node, Microservices, Containers and Mobile Apps development. He has been awarded Microsoft MVP 9th time in a row (2016-2024). He has changed many lives with his writings and unique training programs. He has a number of most sought-after books to his name which has helped job aspirants in cracking tough interviews with ease.
Accept cookies & close this