C# coalesce operator : Question Mark In C# and Double Question Mark
A not so common, but very useful operator is the double question mark operator (??). This can be very useful while working with null able types.
Lets say you have two nullable int:
Scenario: If numOne has a value, you want it, if not you want the value from numTwo, and if both are null you want the number ten (10).
Or another solution with a single question mark:
But with the double question mark operator we can do this:
Output : return numOne if have value, else return numTwo else return 10;
As you can see, the double question mark operator returns the first value that is not null.
By Mohd Zulkamal
NOTE : – If You have Found this post Helpful, I will appreciate if you can Share it on Facebook, Twitter and Other Social Media Sites. Thanks =)
Lets say you have two nullable int:
int? numOne = null;
int? numTwo = 23;
Note : int? (data type with question mark used to declare variable with null able type)
Scenario: If numOne has a value, you want it, if not you want the value from numTwo, and if both are null you want the number ten (10).
Old solution:
if (numOne != null)
return numOne;
if (numTwo != null)
return numTwo;
return 10;
Or another solution with a single question mark:
return (numOne != null ? numOne : (numTwo != null ? numTwo : 10));
But with the double question mark operator we can do this:
return ((numOne ?? numTwo) ?? 10);
Output : return numOne if have value, else return numTwo else return 10;
As you can see, the double question mark operator returns the first value that is not null.
By Mohd Zulkamal
NOTE : – If You have Found this post Helpful, I will appreciate if you can Share it on Facebook, Twitter and Other Social Media Sites. Thanks =)