In C#, the ?? operator, know as the null-coalescing operator, is often used with nullable types.
The ?? operator is used in an expression of the form:
1
| operand ?? nullval |
This expression evaluates to:
- operand, if operand is non-null
- nullval, if operand is null
The operand is a variable and the nullval is a variable or constant of the same type as the variable.
The ?? operator is generally used where you have a nullable type and you want to assign its value to a non-nullable type. Since the nullable type can have the value of null, you need to specify what non-null value to assign in that case.
Here’s an example:
1
2
3
4
5
6
| uint? age = null; // Nullable age -- might not have a value// Later: assign to a non-nullable uint.// Store the age (if non-null)// Store 0 (if null)uint ageStore = age ?? 0; |

