ویرگول
ورودثبت نام
وحید چشمی
وحید چشمی
خواندن ۲ دقیقه·۳ سال پیش

3 ویژگی مهم جدید در C#10

1- گسترش PropertyPattern ها:

گاهی اوقات به Property های تو در تو نیاز داریم، به معنی دیگر دسترسی به Property یک Propperty دیگر. دسترسی به این ویژگی در نسخه های قبلی #C امکان پذیر بود ولی کدی که باید نوشته میشد تا حدودی تمیز نبود.

1.1 مشکل فعلی:

فرض کنید برای دسترسی به Property تو در تو باید به این شکل کد نوشته میشد:

if (employee is { Address: { City: &quotTehran&quot } })

1.2ویژگی جدید C#10 :

دقیقا C#10 در این مورد بهینه شده و بجای اینکه شما چندین بار از براکتها استفاده کنید میتونید کد رو بصورت زیر دهید:

if (employee is { Address.City: &quotTehran&quot })

2- استفاده از Global Using ها:

شاید تابحال برای شما این سوال مطرح شده که آیا راهی برای این هست که بتوان استفاده از Using های متوالی و تکراری را در جایی ذخیره کرد و دیگر آن ها را در فایلهای متعدد تکرار نکرد؟

باید گفت به لطف وجود نسخه جدید NET. این ویژگی اضافه شده.

2.1 مشکل فعلی:

اگر به مثال زیر توجه کنید، لیست Using ها زیاد هستند

using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.HttpsPolicy; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity.UI; using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;

2.2 ویژگی جدید C#10 :

کلمه کلیدی جدیدی که در این نسخه معرفی شده استفاده از global هست. با استفاده از global، شما میتوانید از using های که بصورت global اضافه میشوند استفاده کنید. پیشنهاد میشود که یک فایل جداگانه ایجاد کنید و لیست using های خود را در آن import کنید، به عنوان مثال usings.cs

global using Microsoft.AspNetCore.Builder; global using Microsoft.AspNetCore.Hosting; global using Microsoft.AspNetCore.HttpsPolicy; global using Microsoft.AspNetCore.Identity; global using Microsoft.AspNetCore.Identity.UI; global using Microsoft.EntityFrameworkCore; global using Microsoft.Extensions.Configuration; global using Microsoft.Extensions.DependencyInjection; global using Microsoft.Extensions.Hosting; global using System; global using System.Collections.Generic; global using System.Linq; global using System.Threading.Tasks;

3- بهینه سازی File Namespace ها:

3.1 مشکل فعلی:

بعد از تعریف using ها در کلاس شما، اولین چیزی که نوشته میشود تعریف namespace است. و بعد از آن تعریف کلاس شما.

namespace Blog { public class Article { //پراپرتی ها و صفات کلاس } }

3.2 ویژگی جدید C#10 :

در نسخه جدید، شما میتواند براکتها را حذف کنید و بصورت first level از آن استفاده کنید.

namespace Blog; public class Article { //پراپرتی ها و صفات کلاس }
cnet6c 10برنامه نویسیطراحی سایت
ســلام، من وحید هستم، چند سالی هست که دستم رو کیبورده و کد میزنم. دوست دارم چیزی که تجربه میکنم رو با شما به اشتراک بزارم.https://youtube.com/@devlife013
شاید از این پست‌ها خوشتان بیاید