What does a double question mark do in C#? [duplicate]
Possible Duplicates:
?? Null Coalescing Operator --> What does coalescing mean?
What do two question marks together mean in C#?
I couldn't find this question being asked here so I figured I would ask it. What does a double question mark do in C#?
Example:
x = y ?? z;
Solution 1:
This is a null coalescing operator. The method above states x is assigned y's value, unless y is null, in which case it is assigned z's value.
Solution 2:
From Wikipedia:
It's the null-coalesce operator and shorthand for this:
x = (y != null ? y : z);
Solution 3:
Use y
if not null
, otherwise use z
.
Solution 4:
If a the value y is null then the value z is assigned.
For example:
x = Person.Name ?? "No Name";
If name is null x will have the value "No Name"