Concept Flow - Null-coalescing operator
Evaluate left expression
Is left null?
No→Use left value
Yes
Use right expression value
The null-coalescing operator checks if the left value is null; if not, it uses it, otherwise it uses the right value.
string name = null; string displayName = name ?? "Guest"; Console.WriteLine(displayName);
| Step | Expression Evaluated | Value | Is Null? | Result Used |
|---|---|---|---|---|
| 1 | name | null | Yes | Evaluate right expression |
| 2 | "Guest" | "Guest" | - | Use "Guest" |
| 3 | displayName assigned | "Guest" | - | - |
| 4 | Console.WriteLine(displayName) | "Guest" | - | Output: Guest |
| Variable | Start | After Step 1 | After Step 2 | Final |
|---|---|---|---|---|
| name | null | null | null | null |
| displayName | unassigned | unassigned | "Guest" | "Guest" |
Null-coalescing operator (??) returns the left value if not null; otherwise, it returns the right value. Syntax: var result = left ?? right; Use it to provide default values when a variable might be null. It evaluates right only if left is null. Commonly used to avoid null checks.