سعید صفایی| Saeed Safaee
سعید صفایی| Saeed Safaee
خواندن ۱ دقیقه·۱۰ ماه پیش

ویژگی های جدید در C# ۱۲

سی شارپ
سی شارپ


امکان Primary Constructors

مانند رکورد ها که نمونه اولیه می ساختیم :

public record Person(string frstName, string fastName);

حالا برای کلاس ها هم میتوانیم این امکان را داشته باشیم:

public class Person(string frstName, string fastName)

امکان Collection expressions

استفاده از مجوعه ها و ساده سازی کار برنامه نویس در زمان استفاده از مجموعه های مختلف مانند آرایه ها و یا لیست ها و یا غیره

public void GetPersons(int[] ids) {}
public void GetPeople(List<int> ids) {}

در زمان استفاده باید حتما آرایه و لیست به عنوان پارامتر به توابع بالا بدهیم، در غیر این صورت اگر برای لیست آرایه پاس بدهیم خطا میخورد،

اما در سی شارپ ۱۲ میتوانیم به شکل زیر عمل کنیم

person.GetPersons([۱,۲,۳,۴])person.GetPeople([۱,۲,۳,۴])

امکان Experimental

ویژگی جدید که به شما امکان می‌دهد ویژگی را به انواع، متدها یا مجموعه‌های خود اضافه کنید تا نشان دهید که این ویژگی آزمایشی است.

با انجام این کار، کامپایلر زمانی که کسی سعی می کند از متد استفاده کند، خطا می دهد و متذکر میشود که این کلاس به صورت موقت است و امکان تغییر یا حذف دارد

[Experimental("TestClass")]
public class Person
{
}

امکان ref readonly parameters

با این امکان نمی‌توان مقداری را که توسط مرجع ارسال می‌شود تغییر داد، زیرا یک "فقط خواندنی" است.

public void Persons(ref readonly int number)
{
   Console.WriteLine("Your number is {number}");
   number++;   این خط خطا میدهد و کامپایلر اجرا نمیشود، چون فقط خواندی است 
}
برنامه نویسسی شارپدات نتنمونه اولیه
Senior back-end developer | ProjectManager
شاید از این پست‌ها خوشتان بیاید