این مقاله در مورد یک ویژگی جدید پیشنهادی در C# 14 بحث میکند: انتساب شرطی تهی.
مشکل: کد #C فعلی، قبل از انتساب ویژگیها به اشیاء بالقوه تهی، نیاز به بررسی صریح تهی بودن دارد. این مورد میتواند منجر به کدهایی طولانی شود؛ به ویژه در مورد اشیاء تودرتو.
راه حل فعلی (مثال):
MyObject? myObj = CallThatMightCreateMyObject();
if (myObj is not null)
{
myObj.Property = 100;
}
راه حل پیشنهادی (C# 14): معرفی عملگر انتساب شرطی تهی .?
MyObject? myObj = CallThatMightCreateMyObject();
myObj?.Property = 100;
در این حالت انتساب فقط در صورتی انجام میشود که شیء، تهی نباشد. در غیر این صورت، انتساب نادیده گرفته میشود.
مزایا: این امر کد را ساده میکند؛ به ویژه هنگام کار با اشیاء تودرتوی عمیق:
MyDeeplyNestedObj? m = FromSomewhere();
m?.A?.B?.C?.D = "Foo Bar";
مشاهده مطلب اصلی