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

Null-coalescing operator in C Sharp (C#) - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to assign a default value if 'name' is null.

C Sharp (C#)
string displayName = name [1] "Guest";
Drag options to blanks, or click blank then click option'
A||
B??
C&&
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '||' which is a logical OR and does not work with null values.
Using '&&' which is a logical AND and incorrect here.
Using '==' which is a comparison operator, not for assignment.
2fill in blank
medium

Complete the code to assign 'result' to 'input' or 0 if 'input' is null.

C Sharp (C#)
int result = input [1] 0;
Drag options to blanks, or click blank then click option'
A?:
B&&
C||
D??
Attempts:
3 left
💡 Hint
Common Mistakes
Using '||' which is a logical OR and not for null checks.
Using '?:' which is the ternary operator but more verbose here.
Using '&&' which is logical AND and incorrect.
3fill in blank
hard

Fix the error in the code by completing the null-coalescing expression.

C Sharp (C#)
string message = GetMessage() [1] "No message";
Drag options to blanks, or click blank then click option'
A||
B&&
C??
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '||' which is a logical OR and not for null fallback.
Using '==' which is a comparison, not assignment.
Using '&&' which is logical AND and incorrect.
4fill in blank
hard

Fill both blanks to create a dictionary with word lengths only if length is greater than 3.

C Sharp (C#)
var lengths = new Dictionary<string, int> { {"apple", "apple".Length}, {"cat", "cat".Length} };
var filtered = lengths.Where(kv => kv.Value [1] 3).ToDictionary(kv => kv.Key, kv => kv.Value [2] 1);
Drag options to blanks, or click blank then click option'
A>
B+
C<
D-
Attempts:
3 left
💡 Hint
Common Mistakes
Using '<' instead of '>' for filtering.
Using '-' instead of '+' for incrementing values.
5fill in blank
hard

Fill all three blanks to create a dictionary with uppercase keys and values only if value is not null.

C Sharp (C#)
var data = new Dictionary<string, string?> { {"a", "apple"}, {"b", null} };
var result = data.Where(kv => kv.Value [1] null).ToDictionary(kv => kv.Key.[2](), kv => kv.Value.[3]());
Drag options to blanks, or click blank then click option'
A!=
BToUpper
CToLower
D==
Attempts:
3 left
💡 Hint
Common Mistakes
Using '==' instead of '!=' to filter nulls.
Using 'ToLower()' instead of 'ToUpper()' for uppercase conversion.

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