Ternary Operator in C#
C# includes a special
type of decision making operator '?:' called the ternary operator.
Ternary operator is a
Conditional operator in C#. It takes three arguments and evaluates a Boolean
expression. In another way, is a
decision-making operator and it is a substitute of if…else statement
By using Ternary Operator, we can replace multiple lines of if…else
statement code into a single line in C#.
The Ternary operator will help you to execute the statements
based on the defined conditions using the decision-making operator (?:).
Syntax of Ternary Operator in C#
The Ternary Operator
will always work with 3 operands. Following is the syntax of
defining a Ternary Operator in C#.
condition_expression ? first_expression : second_expression;
From the above
example, we can see the Ternary Operator syntax, the conditional operator (?:)
will return only one value from the defined expressions either the first_expression or
the second_expression based on the value of a condition.
The Ternary Operator
(?:) will work like as follow in C#.
i.
In Ternary Operator,
the conditional expression must be evaluated to either true or false.
If the condition is true, the first_expression result
returned by the ternary operator.
ii.
In case, if the condition is false,
then the second_expression result returned by the operator.
As said earlier, the
Ternary Operator (?:) is a substitute of if…else
statement in C#. For instace, we can replace
the below if…else statement with
Ternary Operator (?:).
int x = 5, y = 20;
string result;
// if...else
statement
if (x > y)
{
result = "x greater than y";
}
else
{
result = "x less than y";
}
//Ternary
Operator (?:) statement
result = (x > y) ? "x greater than y" : "x less than y";
If we observe the
above example, it will be clear to us that we simplified if…else condition by
replacing multiple lines of if…else condition code with Ternary Operator (?:).
Now, we will see the
complete example of a Ternary operator (?:) in C#.
Ternary Operator Example in C#
Following is the example of using a
Ternary Operator (?:) in C#.
using System;
namespace CSharpnaijaTutorial
{
class Program
{
static void Main(string[] args)
{
int x = 5, y = 20;
string result;
//Ternary
Operator (?:)
result = (x > y) ? "x value greater than y" : "x value less
than y";
Console.WriteLine(result);
Console.WriteLine("Press Enter Key to Exit..");
Console.ReadLine();
}
}
}
If you observe the
above code, we used a Ternary Operator (?:) to evaluate an expression (x > y).
Nested Ternary Operator
we can create a Nested Ternary Operator by
including multiple conditional expressions as a second or third part of
expressions in ternary operator and these nested ternary operators will help us
to replace if…else if statements in C#.
The code below is an example of replacing if…else if statement
with a nested ternary operator in C#.
int x = 20, y = 20;
// If...else If
Statement
string result;
if (x > y)
{
result = "x value greater than y";
}
else if (x < y)
{
result = "x value less than y";
}
else
{
result = "x value equals to y";
}
//Nested
Ternary Operator (?:)
result = (x > y) ? "x
value greater than y" : (x < y) ? "x value less than y" : "x
value equals to y";
Nested Ternary Operator Example
Following is the example of defining a
nested ternary operator in C#.
using System;
namespace CsharpnaijaTutorial
{
class Program
{
static void Main(string[] args)
{
int x = 20, y = 20;
string result;
//Nested
Ternary Operator (?:)
result = (x > y) ? "x value greater than y" : (x
< y) ? "x value
less than y" : "x
value equals to y";
Console.WriteLine(result);
Console.WriteLine("Press Enter Key to Exit..");
Console.ReadLine();
}
}
}
The above code example
shows how we can implement a nested ternary operator in C# to replace if…else if statements.
References
1.
Tutlane
4.
programiz
Comments
Post a Comment