C# Relational Operators


Relational operators in C# are used to compare two operands and return a boolean value (true or false). These operators are essential for making decisions based on conditions, such as in if statements, loops, and other control flow structures. Here’s a detailed explanation of the relational operators available in C#, along with examples for each.

1. Relational Operators Overview

OperatorDescriptionExample
==Equal toa == b
!=Not equal toa != b
>Greater thana > b
<Less thana < b
>=Greater than or equal toa >= b
<=Less than or equal toa <= b

2. Detailed Explanation

Equal to (==)

The equal to operator checks if the two operands are equal. If they are, it returns true; otherwise, it returns false.

Example:

int a = 5; int b = 5; bool isEqual = (a == b); // isEqual = true int c = 10; bool isEqual2 = (a == c); // isEqual2 = false

Not equal to (!=)

The not equal to operator checks if the two operands are not equal. If they are not equal, it returns true; otherwise, it returns false.

Example:

int a = 5; int b = 10; bool isNotEqual = (a != b); // isNotEqual = true int c = 5; bool isNotEqual2 = (a != c); // isNotEqual2 = false

Greater than (>)

The greater than operator checks if the left operand is greater than the right operand. If it is, it returns true; otherwise, it returns false.

Example:

int a = 10; int b = 5; bool isGreater = (a > b); // isGreater = true bool isGreater2 = (b > a); // isGreater2 = false

Less than (<)

The less than operator checks if the left operand is less than the right operand. If it is, it returns true; otherwise, it returns false.

Example:

int a = 5; int b = 10; bool isLess = (a < b); // isLess = true bool isLess2 = (b < a); // isLess2 = false

Greater than or equal to (>=)

The greater than or equal to operator checks if the left operand is greater than or equal to the right operand. If it is, it returns true; otherwise, it returns false.

Example:

int a = 10; int b = 10; bool isGreaterOrEqual = (a >= b); // isGreaterOrEqual = true int c = 5; bool isGreaterOrEqual2 = (c >= b); // isGreaterOrEqual2 = false

Less than or equal to (<=)

The less than or equal to operator checks if the left operand is less than or equal to the right operand. If it is, it returns true; otherwise, it returns false.

Example:

int a = 5; int b = 5; bool isLessOrEqual = (a <= b); // isLessOrEqual = true int c = 10; bool isLessOrEqual2 = (c <= b); // isLessOrEqual2 = false

3. Using Relational Operators in C#

Relational operators are often used in conditional statements, loops, and expressions where comparisons are needed. Here's an example of how to use relational operators in an if statement:

using System; class Program { static void Main() { int a = 10; int b = 5; if (a > b) { Console.WriteLine("a is greater than b."); } if (a == b) { Console.WriteLine("a is equal to b."); } else { Console.WriteLine("a is not equal to b."); } } }

4. Operator Precedence

Relational operators have a specific precedence when combined with other operators in an expression. They generally have lower precedence than arithmetic operators. For example, in an expression combining arithmetic and relational operators, the arithmetic operations will be evaluated first.

Example:

int a = 10; int b = 5; int c = 3; bool result = a + b > c; // The addition is performed first: 10 + 5 > 3 => true

5. Comparison with Strings

Relational operators can also be used to compare strings. In this case, the comparison is based on the lexicographical order (dictionary order) of the strings.

Example:

string str1 = "apple"; string str2 = "banana"; bool isGreater = str1 > str2; // isGreater = false

Summary

  • Relational operators in C# are used to compare two values and return a boolean result.
  • They include equal to (==), not equal to (!=), **greater than (>), less than (<), greater than or equal to (>=), and less than or equal to (<=).
  • These operators are commonly used in conditional statements and loops to control the flow of the program.
  • Understanding how to use relational operators effectively is essential for implementing logic and making decisions in your C# programs.