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

Classes in C# Explained

C# Class Explained A class is nothing but an encapsulation of properties and methods that are used to represent a real-time entity, as explained by Guru99 . For instance, if you want to work with Guest’s data as in our previous DataDriven Web application . The properties of the Guest would be the Id, GuestName, Address, Phone number etc of the Guest. The methods would include the entry and modification of Guest data. All of these operations can be represented as a class in C# as shown below. using System; namespace CsharpnaijaClassTutorial {     public class Guest     {         public int Id { get ; set ; }         public string GuestName { get ; set ; }         public string Address { get ; set ; }         public string WhomToSee { get ; set ; }     ...

ASP.NET MVC Views

Views in ASP.NET MVC Application explained Find a related article By  Steve Smith  and  Luke Latham from Microsoft Corporation here In the Model-View-Controller (MVC) pattern, the  view  handles the application's data presentation and user interaction. A view is an HTML template with embedded  Razor markup . Razor markup is code that interacts with HTML markup to produce a webpage that's sent to the client. In ASP.NET MVC, views are  .cshtml  files that use the  C# programming language  in Razor markup. Usually, view files are grouped into folders named for each of the application's  controllers . The folders are stored in a  Views  folder at the root of the application as shown: The  Home  controller is represented by a  Home  folder inside the  Views  folder.  The  Home  folder contains the views for the  About ,  Contact , and  Index...

ASP.NET MVC Routing

ASP.NET MVC Routing ASP.NET MVC routing is a pattern matching system that is responsible for mapping incoming browser requests to specified MVC controller actions. When the ASP.NET MVC application launches then the application registers one or more patterns with the framework's route table to tell the routing engine what to do with any requests that matches those patterns. When the routing engine receives a request at runtime, it matches that request's URL against the URL patterns registered with it and gives the response according to a pattern match. Routing pattern is as follows A URL is requested from a browser, the URL is parsed (that is, break into controller and action), the parsed URL is compared to registered route pattern in the framework’s route table, if a route is found, its process and send response to the browser with the required response, otherwise, the HTTP 404 error is send to the browser. Route Properties ASP.NET MVC routes are res...