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, правая часть не выполняется, что предотвращает побочные эффекты.