قابلیت Null-coalescing assignment در C# 8

لیست ویژگی های جدید C# 8 :

با استفاده از این ویژگی میتوانید متغییر هایی که مقدارشان Null است را مقداردهی کنید .

ابتدا یک لیست از نوع int ایجاد و سپس یک متغیر با اسم i و با مقدار Null ایجاد میکنیم بعد مقدار 17 را به متغیر i اضافه میکنیم سپس در خط بعدی مقدار 20 را اضافه میکنیم

List<int> numbers = null;
int? i = null;

numbers ??= new List<int>();
numbers.Add(i ??= 17);
numbers.Add(i ??= 20);

Console.WriteLine(string.Join(" ", numbers));  // output: 17 17
Console.WriteLine(i);  // output: 17

در خروجی با اینکه آخرین مقدار ما 20 است ولی مقدار 17 نمایش داده می شود دلیل این امر این است که متغیر i ابتدا مقدار Null داشته و میتوانستیم مقدار جدید به آن اضافه کنیم ولی چون متغیر i مقداردهی شده دیگر امکان اضافه کردن مقدار جدید وجود ندارد .