нулевой коалесцирующий оператор является правильным ассоциативным, что означает выражение вида
Сначалавторой третий
оценивается как
Сначала(второй третий)
Исходя из приведенного выше правила, я думаю, что следующий перевод неверен.
From:
Address contact = user.ContactAddress;
if (contact == null)
{
contact = order.ShippingAddress;
if (contact == null)
{
contact = user.BillingAddress;
}
}
To:
Address contact = user.ContactAddress ??
order.ShippingAddress ??
user.BillingAddress;
Вместо этого, я думаю, что следующее правильно (пожалуйста, поправьте меня, если я ошибаюсь)
Address contact = (user.ContactAddress ?? order.ShippingAddress) ??
user.BillingAddress;