سیشارپ آپدیت های خود را در ادامه فعالیت هایش جهت ساده تر کردن کد ها و بهبود در فضاهای اشغال شده توسط کد ارائه میکند.
برخی از ویژگی های C# 12 در preview ها معرفی شده اند. میتوانید این ویژگیها را با استفاده از Visual Studio 17.6 Preview یا NET 8 preview. امتحان کنید.
ویژگی های زیر در C#12 Preview معرفی شده اند.
۱- ویژگی Primary constructors برای کلاس ها و ساختارهای غیر رکورد.
شما اکنون میتوانید primary constructors را در هر کلاس و ساختار ایجاد کنید. Primary constructors دیگر محدود به record types نیستند. پارامترهای primary constructor در scope بدنه کلاس هستند.
با استفاده از (...)this داخل کلاس، میتوانید از قابلیت primary constructor استفاده کنید.
مثال:
Public Student(int id, string name) : this(id, name, Enumerable.Empty<decimal>()) { }
اضافه کردن primary constructor به یک کلاس، از تعریف ضمنی constructor بدون پارامتر جلوگیری میکند.
۲- مقدار پیش فرض برای پارامترهای عبارت lambda
سیشارپ قبلا این امکان را فراهم کرده بود که برای پارامتر های ورودی متد مقادیر پیشفرض تعریف کنید. این امکان برای lambda نیز فراهم شده است. مقدار پیش فرض برای پارامترهای عبارت lambda به شما این امکان را میدهد که بتوانید پارامترهایی را که در عبارت lambda استفاده میشوند، با مقدار پیش فرض مقداردهی کنید.
۳- استفاده از alias برای هر نوعی
در ورژن های قبلی سی شارپ این امکان وجود داشت که شما موقع استفاده از یک کلاس، به جای استفاده مستقیم از آن کلاس، در قسمت using ها، کلاس مورد نظر خود را به صورت مستقیم using کنید و به آن یک نام دلخواه دهید، سپس داخل کد خود برای دسترسی به کلاس مورد نظر از این نام دلخواهی که موقع using معرفی کرده اید استفاده کنید.
در این ورژن، شما میتوانید از دستورالعمل using alias برای هر نوعی، نه فقط named types، استفاده کنید. این بدان معناست که شما میتوانید alias های semantic برای tuple types، array types، pointer types یا دیگر unsafe types ایجاد کنید.
مثال:
using Measurement = (string Units, int Distance);
? نسخه کامل این مقاله را میتوانید در اینجا مطالعه کنید.