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

Ternary conditional operator in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Ternary Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of nested ternary operator
What is the output of this C# code snippet?
C Sharp (C#)
int x = 5;
int y = 10;
string result = x > y ? "x is greater" : x == y ? "x equals y" : "x is smaller";
Console.WriteLine(result);
Ax is greater
Bx equals y
Cx is smaller
DCompilation error
Attempts:
2 left
💡 Hint
Remember how nested ternary operators evaluate conditions from left to right.
❓ Predict Output
intermediate
2:00remaining
Ternary operator with boolean expressions
What will this code print?
C Sharp (C#)
bool isSunny = false;
bool haveUmbrella = true;
string message = isSunny ? "Go outside" : haveUmbrella ? "Take umbrella" : "Stay inside";
Console.WriteLine(message);
AGo outside
BTake umbrella
CStay inside
DRuntime error
Attempts:
2 left
💡 Hint
Check the value of isSunny and then haveUmbrella.
❓ Predict Output
advanced
2:00remaining
Ternary operator with different data types
What is the output of this code?
C Sharp (C#)
var value = 7;
var output = value % 2 == 0 ? "Even" : value > 5 ? 100 : 50;
Console.WriteLine(output);
ACompilation error
BEven
C50
D100
Attempts:
2 left
💡 Hint
Check the types of the values returned by the ternary operator.
❓ Predict Output
advanced
2:00remaining
Ternary operator with side effects
What will be printed by this code?
C Sharp (C#)
int a = 3;
int b = 4;
int result = a > b ? a++ : ++b;
Console.WriteLine($"result = {result}, a = {a}, b = {b}");
Aresult = 5, a = 3, b = 5
Bresult = 3, a = 4, b = 4
Cresult = 3, a = 3, b = 5
Dresult = 4, a = 3, b = 4
Attempts:
2 left
💡 Hint
Remember how post-increment and pre-increment operators work.
❓ Predict Output
expert
2:00remaining
Complex nested ternary with method calls
What is the output of this code?
C Sharp (C#)
static string Check(int n) => n % 2 == 0 ? "Even" : n % 3 == 0 ? "Divisible by 3" : "Other";

Console.WriteLine(Check(9));
AEven
BCompilation error
COther
DDivisible by 3
Attempts:
2 left
💡 Hint
Check the order of conditions in the nested ternary.

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