Using Several Null-Coalescing (??) Operators in the Same Expression

You can create an expression that contains more than one null-coalescing (??) operator.  Because the ?? operator is left associative, the expression will be evaluated from left to right.
This means that:
1
int result = i ?? j ?? k ?? 0;    // i, j and k are all of type int?
is equivalent to:
1
int result = ((i ?? j) ?? k) ?? 0;
The end result of chaining ?? operators together is that the result of the final expression is–the value of the first non-null operand.  In our example, if i and k were null, but j had an integer value, result would be assigned the value of j.