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

Null-coalescing operator in C Sharp (C#) - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Null-Coalescing Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of null-coalescing with nullable int
What is the output of this C# code snippet?
C Sharp (C#)
int? a = null;
int b = 5;
int result = a ?? b;
Console.WriteLine(result);
Anull
B0
CCompilation error
D5
Attempts:
2 left
💡 Hint
The null-coalescing operator returns the left value if it is not null; otherwise, it returns the right value.
❓ Predict Output
intermediate
2:00remaining
Null-coalescing with strings
What will this program print?
C Sharp (C#)
string s = null;
string result = s ?? "default";
Console.WriteLine(result);
Adefault
Bnull
CCompilation error
DEmpty string
Attempts:
2 left
💡 Hint
If the left side is null, the operator returns the right side.
❓ Predict Output
advanced
2:00remaining
Chained null-coalescing operators
What is the output of this code?
C Sharp (C#)
string? a = null;
string? b = null;
string c = "hello";
string result = a ?? b ?? c;
Console.WriteLine(result);
Ahello
Bnull
CCompilation error
DEmpty string
Attempts:
2 left
💡 Hint
The operator evaluates left to right and returns the first non-null value.
❓ Predict Output
advanced
2:00remaining
Null-coalescing with method call
What will this code print?
C Sharp (C#)
string? GetName() => null;

string name = GetName() ?? "Unknown";
Console.WriteLine(name);
Anull
BUnknown
CCompilation error
DEmpty string
Attempts:
2 left
💡 Hint
The method returns null, so the operator returns the fallback string.
❓ Predict Output
expert
3:00remaining
Null-coalescing with nullable struct and property
What is the output of this program?
C Sharp (C#)
struct Point { public int X; public int Y; }

Point? p = null;
int x = p?.X ?? -1;
Console.WriteLine(x);
ACompilation error
B0
C-1
DNullReferenceException
Attempts:
2 left
💡 Hint
The null-conditional operator returns null if 'p' is null, so the null-coalescing operator uses -1.

Practice

(1/5)
1.

What does the null-coalescing operator ?? do in C#?

easy
A. Returns the left value if it is not null; otherwise, returns the right value.
B. Checks if two values are equal.
C. Assigns a value only if the variable is null.
D. Throws an exception if the left value is null.

Solution

  1. Step 1: Understand the operator's purpose

    The null-coalescing operator ?? is used to provide a fallback value when the left-hand side is null.
  2. Step 2: Analyze behavior

    If the left value is not null, it returns that value; otherwise, it returns the right value.
  3. Final Answer:

    Returns the left value if it is not null; otherwise, returns the right value. -> Option A
  4. Quick Check:

    Null-coalescing operator = fallback value [OK]
Hint: Think: "Use right value only if left is null" [OK]
Common Mistakes:
  • Confusing it with equality check
  • Thinking it assigns values automatically
  • Assuming it throws exceptions on null
2.

Which of the following is the correct syntax to use the null-coalescing operator in C#?

string name = null;
string displayName = ??? "Guest";
easy
A. name ??
B. name ?? "Guest"
C. name ? "Guest"
D. name ?: "Guest"

Solution

  1. Step 1: Identify correct operator usage

    The null-coalescing operator syntax is left ?? right, where right is the fallback value.
  2. Step 2: Match syntax to code

    Given string displayName = name ?? "Guest";, it correctly assigns "Guest" if name is null.
  3. Final Answer:

    name ?? "Guest" -> Option B
  4. Quick Check:

    Correct syntax uses ?? between variables [OK]
Hint: Remember: null-coalescing uses two question marks ?? [OK]
Common Mistakes:
  • Using single question mark ? instead of ??
  • Placing ?? after the variable without right value
  • Confusing with ternary operator syntax
3.

What will be the output of the following C# code?

string input = null;
string result = input ?? "Default";
Console.WriteLine(result);
medium
A. null
B. input
C. Default
D. Compilation error

Solution

  1. Step 1: Check the value of input

    The variable input is assigned null.
  2. Step 2: Apply null-coalescing operator

    The expression input ?? "Default" returns "Default" because input is null.
  3. Final Answer:

    Default -> Option C
  4. Quick Check:

    Null input returns fallback string [OK]
Hint: If left is null, output right value [OK]
Common Mistakes:
  • Expecting output to be 'null' string
  • Confusing with ternary operator output
  • Thinking it causes compile error
4.

Identify the error in the following code snippet using the null-coalescing operator:

int? number = null;
int result = number ?? null;
Console.WriteLine(result);
medium
A. Variable 'number' must be non-nullable.
B. The null-coalescing operator is used incorrectly; should be &&.
C. No error; code runs fine and prints 0.
D. Cannot use null as right operand for int result.

Solution

  1. Step 1: Analyze variable types

    number is nullable int (int?), but result is non-nullable int.
  2. Step 2: Check right operand of null-coalescing

    The right operand is null, which cannot be assigned to non-nullable int result.
  3. Final Answer:

    Cannot use null as right operand for int result. -> Option D
  4. Quick Check:

    Right side must be non-null for non-nullable target [OK]
Hint: Right side of ?? must match target type, not null [OK]
Common Mistakes:
  • Using null as fallback for non-nullable variable
  • Confusing ?? with logical operators
  • Ignoring nullable type rules
5.

Given the following code, what will be the output?

string? firstName = null;
string? lastName = "Smith";
string fullName = firstName ?? lastName ?? "Unknown";
Console.WriteLine(fullName);
hard
A. Smith
B. null
C. Unknown
D. Compilation error

Solution

  1. Step 1: Evaluate first null-coalescing operation

    firstName is null, so firstName ?? lastName evaluates to lastName, which is "Smith".
  2. Step 2: Evaluate second null-coalescing operation

    Since lastName is not null, the second ?? "Unknown" is not used.
  3. Final Answer:

    Smith -> Option A
  4. Quick Check:

    Chained ?? returns first non-null value [OK]
Hint: Chain ?? to pick first non-null value [OK]
Common Mistakes:
  • Expecting 'Unknown' when lastName is not null
  • Thinking null propagates through chain
  • Assuming compilation error with nullable strings
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