I know the standard way of using the null coalescing operator in C# is to set default values.
string nobody = null; string somebody = "Bob Saget"; string anybody = ""; anybody = nobody ?? "Mr. T"; // Returns Mr. T anybody = somebody ?? "Mr. T"; // Returns "Bob Saget"
But what else can ?? be used for? It doesn’t seem as useful as the ternary operator, apart from being more concise and easier to read than:
nobody = null; anybody = nobody == null ? "Bob Saget" : nobody; // Returns Bob Saget
So given that fewer even know about null coalescing operator…
-
Have you used
??for something else? -
Is
??necessary, or should you just use the ternary operator (that most are familiar with)
Well, first of all, it’s much easier to chain than the standard ternary operator:
vs.
It also works well if a null-possible object isn’t a variable:
vs.