How the right associative of null coalescing operator behaves?
<blockquote>
  <p>null coalescing operator is right associative, which means an expression of the form </p>
  
  <p><strong>first ?? second ??third</strong> </p>
  
  <p>is evaluated as </p>
  
  <p><strong>first ?? (second ?? third)</strong></p>
</blockquote>

<p>Based on the above rule, I think the following translation is not correct.</p>

<p><strong>From:</strong></p>

<pre><code>Address contact = user.ContactAddress;
if (contact == null)
{
    contact = order.ShippingAddress;
    if (contact == null)
    {
        contact = user.BillingAddress;
    }
}
</code></pre>

<p><strong>To:</strong></p>

<pre><code>Address contact = user.ContactAddress ??
                  order.ShippingAddress ??
                  user.BillingAddress;
</code></pre>

<p>Instead, I think the following is right one (Please correct me if I am wrong)</p>

<pre><code>Address contact = (user.ContactAddress ?? order.ShippingAddress) ??
                   user.BillingAddress;
</code></pre>
