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

Null-coalescing operator in C Sharp (C#) - Mini Project: Build & Apply

Choose your learning style10 modes available
Using the Null-coalescing Operator in C#
📖 Scenario: Imagine you are building a simple program that greets users. Sometimes, the user's name might not be provided, so you want to use a default greeting name instead.
🎯 Goal: You will create a program that uses the null-coalescing operator (??) to provide a default name when the user's name is missing.
📋 What You'll Learn
Create a string variable called userName with a null value.
Create a string variable called defaultName with the value "Guest".
Use the null-coalescing operator ?? to assign a variable nameToUse either userName if it is not null, or defaultName if userName is null.
Print the greeting message Hello, {nameToUse}!.
💡 Why This Matters
🌍 Real World
In real applications, user input or data from databases can be missing or null. The null-coalescing operator helps provide safe default values to avoid errors.
💼 Career
Understanding how to handle null values safely is important for writing robust C# programs, especially in web development and data processing jobs.
Progress0 / 4 steps
1
Create the userName variable with a null value
Create a string variable called userName and set it to null.
C Sharp (C#)
Hint

Use string? userName = null; to allow userName to be null.

2
Create the defaultName variable
Create a string variable called defaultName and set it to "Guest".
C Sharp (C#)
Hint

Use string defaultName = "Guest"; to set the default name.

3
Use the null-coalescing operator to assign nameToUse
Create a string variable called nameToUse and assign it the value of userName ?? defaultName using the null-coalescing operator.
C Sharp (C#)
Hint

Use ?? to choose userName if not null, otherwise defaultName.

4
Print the greeting message
Write a Console.WriteLine statement to print Hello, {nameToUse}! using string interpolation.
C Sharp (C#)
Hint

Use Console.WriteLine($"Hello, {nameToUse}!"); to print the greeting.

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