Hacker News Digest

15 сентября 2025 г. в 18:08 • blog.ivankahl.com • ⭐ 124 • 💬 123

OriginalHN

#csharp#null-conditional-operators#language-features

What's New in C# 14: Null-Conditional Assignments

В C# 14 появились операторы условного присваивания для null, которые позволяют безопасно присваивать значения свойствам или индексаторам без бесконечных проверок if.

Если вы работали с C#, вам знаком код вроде:

if (config?.Settings is not null) 
{
    config.Settings.RetryPolicy = new ExponentialBackoffRetryPolicy();
}

Теперь это можно записать одной строкой:

config?.Settings?.RetryPolicy = new ExponentialBackoffRetryPolicy();

Новые операторы работают как с обычными присваиваниями, так и с составными (+=, -=), а также могут комбинироваться с оператором объединения с null (??=):

customer?.Name ??= "Guest";

Важно помнить: если левая часть выражения равна null, правая часть не выполняется, что предотвращает побочные эффекты.