Skip to main content

Ternary Operator in C# Explained

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

2.       Tutorialspoint

3.       tutorialsteacher

4.       programiz


Comments

Popular posts from this blog

Collections in C#

Collections in C# In our previous article , we have learned about how we can use arrays in C#. Arrays in programming are used to group a set of related objects. So one could create an array or a set of Integers, which could be accessed via one variable name. What is Collections in C#? Collections are similar to Arrays, it provides a more flexible way of working with a group of objects. In arrays, you would have noticed that you need to define the number of elements in an array beforehand. This had to be done when the array was declared. But in a collection, you don't need to define the size of the collection beforehand. You can add elements or even remove elements from the collection at any point of time. This article will focus on how we can work with the different collections available in C#. There are three distinct collection types in C#: standard generic concurrent The standard collections are found under the System.Collections. They do not store elemen...

The String.Join Method in C# Explained

The String.Join Method in C#   The string.Join concatenates the elements of a specified array or the members of a collection, using the specified separator between each element or member. Overloads of string.Join Method Description Join(Char, Object[]) Concatenates the string representations of an array of objects, using the specified separator between each member. Join(Char, String[]) Concatenates an array of strings, using the specified separator between each member. Join(String, IEnumerable<String>) Concatenates the members of a constructed IEnumerable<T> collection of type String, using the specified separator between each member. Join(String, Object[]) Concatenates the elements of an object array, using the specified separator between each element. Join(String, String[]) Concatenates all the elements of a string array, usi...

System.IO Namesapce in C#

  System.IO Namesapce in C# A  file  is a collection of data stored in a disk with a specific name and a directory path. When a file is opened for reading or writing, it becomes a  stream . The stream is basically the sequence of bytes passing through the communication path. There are two main streams: the  input stream  and the  output stream . The  input stream  is used for reading data from file (read operation) and the  output stream  is used for writing into the file (write operation). From the above definition of file, the C# provides a namespace that enable us to manipulate file in C# called System.IO.   System.IO  is a  namespace  and it contains a standard IO (input/output) types such as classes , structures , enumerations , and  delegates  to perform a read/write operations on different sources like file, memory, network, etc.   System.IO Classes The table below shows differen...