مایکروسافت ویژگی های نسخه 9 سی شارپ را افشا کرد

چهارشنبه 11 تیر 1399

نسخه 9 سی شارپ دارای ویژگی های جدیدی است که آشنایی با آن برای توسعه دهندگان ضروری است، ما در این مطلب درباره ویژگی های نسخه 9 سی شارپ صحبت می کنیم.

 مایکروسافت ویژگی های نسخه 9 سی شارپ را افشا کرد

مایکروسافت در تلاش است که نسخه 9 سی شارپ را ارتقا دهد. این به روزرسانی قابلیت های شی گرایی این زبان برنامه نویسی را ارتقا می دهد که این کار قابلیت های جدیدی را مانند تساوی های مبتنی بر مقدار و ذخیره سازی به این زبان اضافه می کند.

نسخه 9 سی شارپ بخشی از روند توسعه پلتفرم .NET 5 است که قرار است در ماه نوامبر منتشر شود. نسخه 8 سی شارپ در ماه سپتامبر گذشته منتشر شد. ویژگی های جدیدی که به نسخه 9 زبان برنامه نویسی سی شارپ اضافه شده است به تفصیل توسط طراح اصلی این زبان برنامه نویسی ذکر شد که شامل موارد بسیار زیادی است. ما در ادامه این مطلب قصد داریم کمی بیشتر درباره این ویژگی های جدید صحبت کنیم.

ویژگی های مقدماتی اضافه شده به نسخه 9 سی شارپ

-          قابلیت Records به این نسخه اضافه شده است که برای تعریف یک شی به صورت غیرقابل تغییر(immutable) مورد استفاده قرار می گیرد و باعث می شود که با این شی مانند یک مقدار رفتار شود. Records در واقع به این شکل طراحی شده اند که به جای این که با آنها به عنوان شی رفتار شود بیشتر شبیه به داده باشند و به این شکل با آنها رفتار شود.

-          با اضافه شدن عبارات(expression ها) که از سینتکس اولیه استفاده می کنند شما می توانید به راحتی تفاوت های میان یک شی و نسخه قدیمی آن را نمایش دهید.

-          تطبیق الگوها نیز در این نسخه از زبان برنامه نویسی سی شارپ بهبود پیدا کرده است.

 نسخه 9 سی شارپ

ویژگی برابر مبتنی بر مقدار در این نسخه

تمامی اشیایی که در سی شارپ به وجود می آیند همگی یک متد مجازی Equals(object) را به ارث می برند که از کلاس object می باشد. این به عنوان پایه ای برای متد استاتیک Object.Equals(object, object) به شمار می آید که زمانی استفاده می شود که هر دو پارامتر مخالف null باشند. برخی از ساختارها این متد را override می کنند تا بتوانند به قابلیت برابری مبتنی بر مقدار دست پیدا کنند که امکان مقایسه هر فیلد در ساختار شما را با یک قابلیت برگشتی ارائه می دهد. دقت داشته باشید که Records نیز دقیقا همین کار را انجام می دهد. بنابراین با توجه به این توضیحات دو شی record می توانند مساوی یکدیگر باشند بدون آن که هر دو آنها یک شی باشند.

 نسخه 9 سی شارپ

الگوهای رابطه ای و منطقی اضافه شده به این نسخه

-          الگوهای رابطه ای که در واقع الگوهایی هستند که به عملگرهای رابطه ای اختصاص پیدا کرده اند نیز به نسخه 9 سی شارپ اضافه شده اند.

-          الگوهای منطقی که در واقع الگوها را با عملگرهای منطقی( مانند and، or و ...)  ترکیب می کنند به عنوان کلمه از یکدیگر جدا می شوند تا از سردرگمی در زمان استفاده از این عملگرها در عبارت های مختلف جلوگیری کنند.

-          علاوه بر این الگوهای مربوط به نوع داده نیز به این نسخه از زبان برنامه نویسی سی شارپ اضافه شده است.

 نسخه 9 سی شارپ

برخی دیگر از ویژگی های نسخه 9 سی شارپ

-          ویژگی های Init-only در واقع یک ارزیابی کننده را معرفی می کنند که نوعی از ارزیابی کننده های مجموعه ای می باشد و شما می توانید آنها را در زمان مقداردهی اولیه اشیا مختلف فراخوانی کنید. این ویژگی ها محدودیت های مقداردهی اولیه اشیا را نشان می دهند. دقت داشته باشید که این ویژگی ها باید تغییر پذیر باشند تا بتوانند برای چنین مقداردهی اولیه ای کار کنند.

-          target typing بهبود یافته یکی دیگر از ویژگی های نسخه 9 سی شارپ است که زمانی استفاده می شود که یک عبارت نوع داده ای خود را context که در آن استفاده شده است دریافت می کند. به عنوان مثال عبارت های null و lambda همواره target شده می باشند. با استفاده از سی شارپ نسخه 9 برخی از عبارت ها که از قبل به عنوان target-type شناخته نمی شدند امروزه می توانند با استفاده از context خود شناسایی شوند.

 نسخه 9 سی شارپ

نکات پایانی درباره نسخه جدید زبان برنامه نویسی سی شارپ

-          عبارت های جدید Target-type ویژگی دیگر نسخه 9 زبان سی شارپ است که در صورتی که نوع واضحی برای یک عبارت وجود داشته باشد می توان به راحتی نوع داده ای آن را کنار گذاشت.

-          مقادیر بازگشتی Covariant که بیان می کند متدی که در یک کلاس به ارث برده شده override می شود نوع بازگشتی خاص تری را نسبت به کلاس پایه خود دارا می باشد.

-          Positional records آخرین ویژگی نسخه 9 سی شارپ است که در واقع رویکردی برای records است که زمانی به کار می رود که محتوا از طریق آرگومان های کانستراکتور ارسال می شود.

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 3k بازدید
  • 3 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید