Осенью вместе с релизом .NET 10 выходит C# 14 — и среди его новинок особенно выделяется оператор null-conditional assignment. На первый взгляд — «косметическое» улучшение. Но, как показывает практика, именно такие мелкие штрихи меняют стиль программирования и избавляют нас от тонны if-ов, проверяющих null. Вместо привычной конструкции: if (config?.Settings is not null)
{
config.Settings.RetryPolicy = new ExponentialBackoffRetryPolicy();
} Теперь можно написать в одну строчку: config?.Settings?.RetryPolicy = new ExponentialBackoffRetryPolicy(); То же самое доступно и для индексаторов: customerData?["LastLogin"] = DateTime.UtcNow; Оператор поддерживает составные присваивания (+=, -=) и даже комбинации с ??=: customer?.Name ??= "Guest"; Если слева встретится null, присваивание просто не произойдёт, а правое выражение даже не будет вычислено — это защищает от побочных эффектов. Для меня эта фича — логичное продолжение эволюции C#: По сути, это ещё один шаг к тому, чтобы C# оставался «