?? [null-coalescing operator] in C#
In this blog we will see about ?? Operator in C#.
null-coalescing operator in C#
The ?? operator is called the
null-coalescing operator and is used to define a default value for a
nullable value types as well as reference types. It returns the
left-hand operand if it is not null; otherwise it returns the right
operand.
Example:
int? x = null;
...
// y = x, unless x is null, in which case y = -1.
int y = x ?? -1;
//The ?? operator also works with reference types:
//message = param, unless param is null
//in which case message = "No message"
string message = param ?? "No message";
|
A nullable type can contain a value, or it can be undefined. The ??
operator defines the default value to be returned when a nullable type
is assigned to a non-nullable type. If you try to assign a nullable
value type to a non-nullable value type without using the ?? operator, you will generate a compile-time error. If you use a cast, and the nullable value type is currently undefined, an InvalidOperationException exception will be thrown.