Bird
Raised Fist0
C Sharp (C#)programming~5 mins

Ternary conditional operator in C Sharp (C#)

Choose your learning style10 modes available
Introduction

The ternary conditional operator lets you choose between two values quickly based on a condition. It makes your code shorter and easier to read when you have simple decisions.

When you want to assign a value based on a simple yes/no question.
When you want to print different messages depending on a condition.
When you want to return one of two values from a method quickly.
When you want to replace a short if-else statement with cleaner code.
Syntax
C Sharp (C#)
condition ? value_if_true : value_if_false;
The condition is a boolean expression that is either true or false.
If the condition is true, the operator returns value_if_true, otherwise it returns value_if_false.
Examples
Assigns the greater of a or b to max.
C Sharp (C#)
int max = (a > b) ? a : b;
Sets result to "Pass" if score is 60 or more, otherwise "Fail".
C Sharp (C#)
string result = (score >= 60) ? "Pass" : "Fail";
Prints a message depending on whether isSunny is true or false.
C Sharp (C#)
Console.WriteLine(isSunny ? "Take sunglasses" : "Take umbrella");
Sample Program

This program checks if age is 18 or more. If yes, it sets canVote to "Yes", otherwise "No". Then it prints the result.

C Sharp (C#)
using System;

class Program
{
    static void Main()
    {
        int age = 20;
        string canVote = (age >= 18) ? "Yes" : "No";
        Console.WriteLine($"Can vote: {canVote}");
    }
}
OutputSuccess
Important Notes

The ternary operator is best for simple conditions. For complex logic, use if-else statements for clarity.

Both value_if_true and value_if_false should be of compatible types.

Summary

The ternary operator is a shortcut for if-else that returns one of two values.

It uses the syntax: condition ? value_if_true : value_if_false.

Use it to write shorter and cleaner code for simple decisions.

Practice

(1/5)
1. What does the ternary conditional operator condition ? value_if_true : value_if_false do in C#?
easy
A. It executes both value_if_true and value_if_false regardless of the condition.
B. It is used to declare variables in C#.
C. It only checks the condition but does not return any value.
D. It returns value_if_true if the condition is true, otherwise value_if_false.

Solution

  1. Step 1: Understand the ternary operator syntax

    The ternary operator uses a condition followed by a question mark, then two values separated by a colon.
  2. Step 2: Determine what it returns based on the condition

    If the condition is true, it returns the first value; if false, it returns the second value.
  3. Final Answer:

    It returns value_if_true if the condition is true, otherwise value_if_false. -> Option D
  4. Quick Check:

    condition ? true_value : false_value = returns true_value if condition true [OK]
Hint: Remember: condition ? trueValue : falseValue returns one value [OK]
Common Mistakes:
  • Thinking both values run regardless of condition
  • Confusing ternary operator with if statement
  • Believing it does not return a value
2. Which of the following is the correct syntax for using the ternary operator in C#?
easy
A. int result = (x > 0) : 1 ? 0;
B. int result = (x > 0) ? 1 : 0;
C. int result = (x > 0) ? {1, 0};
D. int result = (x > 0) ? 1;

Solution

  1. Step 1: Review the ternary operator syntax

    The correct syntax is: condition ? value_if_true : value_if_false;
  2. Step 2: Check each option for syntax correctness

    int result = (x > 0) ? 1 : 0; matches the correct syntax. Options A, B, and D have syntax errors or missing parts.
  3. Final Answer:

    int result = (x > 0) ? 1 : 0; -> Option B
  4. Quick Check:

    Correct ternary syntax uses ? and : in order [OK]
Hint: Syntax is: condition ? trueValue : falseValue; [OK]
Common Mistakes:
  • Using curly braces instead of colon
  • Swapping ? and : positions
  • Omitting the false value after colon
3. What is the output of the following C# code?
int a = 5;
string result = (a % 2 == 0) ? "Even" : "Odd";
Console.WriteLine(result);
medium
A. Odd
B. Even
C. 5
D. Error

Solution

  1. Step 1: Evaluate the condition (a % 2 == 0)

    Since a = 5, 5 % 2 equals 1, which is not 0, so the condition is false.
  2. Step 2: Determine which value the ternary operator returns

    Because the condition is false, it returns "Odd".
  3. Final Answer:

    Odd -> Option A
  4. Quick Check:

    5 % 2 == 0 is false, so output is "Odd" [OK]
Hint: Check condition result true or false to pick output [OK]
Common Mistakes:
  • Assuming 5 is even
  • Confusing modulus operator result
  • Expecting numeric output instead of string
4. Identify the error in this C# code using the ternary operator:
int x = 10;
string output = x > 5 ? "High" "Low";
Console.WriteLine(output);
medium
A. Condition must be inside parentheses
B. Missing semicolon at the end of the line
C. Missing colon ':' between true and false values
D. Incorrect variable type for output

Solution

  1. Step 1: Check ternary operator syntax in the code

    The ternary operator requires a colon ':' between the true and false values.
  2. Step 2: Identify the missing colon

    The code has "High" "Low" without a colon, which causes a syntax error.
  3. Final Answer:

    Missing colon ':' between true and false values -> Option C
  4. Quick Check:

    condition ? trueValue : falseValue needs ':' separator [OK]
Hint: Always include ':' between true and false parts [OK]
Common Mistakes:
  • Forgetting the colon ':'
  • Adding extra quotes or commas
  • Misplacing parentheses
5. Given a list of integers, which C# code snippet correctly uses the ternary operator to create a new list of strings labeling each number as "Positive" or "Non-positive"?
hard
A. var labels = numbers.Select(n => n > 0 ? "Positive" : "Non-positive").ToList();
B. var labels = numbers.Select(n => n > 0 ? "Positive" "Non-positive").ToList();
C. var labels = numbers.Select(n => if (n > 0) "Positive" else "Non-positive").ToList();
D. var labels = numbers.Select(n => n > 0 ? "Positive" : ).ToList();

Solution

  1. Step 1: Understand the use of ternary operator inside LINQ Select

    The ternary operator must have a condition, true value, and false value separated by '?' and ':'.
  2. Step 2: Check each option for correct syntax and logic

    var labels = numbers.Select(n => n > 0 ? "Positive" : "Non-positive").ToList(); correctly uses the ternary operator inside Select. Options B, C, and D have syntax errors or invalid expressions.
  3. Final Answer:

    var labels = numbers.Select(n => n > 0 ? "Positive" : "Non-positive").ToList(); -> Option A
  4. Quick Check:

    Correct ternary inside Select uses ? and : with both values [OK]
Hint: Use ? and : correctly inside lambda expressions [OK]
Common Mistakes:
  • Omitting colon ':' in ternary operator
  • Using if-else inside lambda without braces
  • Leaving false value empty
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard