Следващата версия C# ще предложи нови възможности, вариращи от записи до равенства, основани на стойността. C# 8.0 излезе миналия септември, a Microsoft се забави с разработката на C# 9.0. Новата версия трябва да бъде част от платформата за разработка на .NET 5, която трябва да излезе през ноември.  Новите функции на C# 9.0 представи по време на Microsoft Build водещият разработчик на C# Мадс Торгенсен. Те включват следното:

  • Записи за обявяване на цял обект за неизменим и той да се държи като стойност. Записите са предназначени да се виждат повече като данни и по-малко като обекти.

  • with изрази, които използват синтаксиса на инициализатора на обекти, за да покажат какво е различно в нов обект в сравнение със стар.

  • Подобрен pattern matching.

  • Всички обекти наследяват виртуален метод Equals(object) от обектния клас. Това служи за основа на статичния метод Object.Equals(object, object), когато и двата параметъра са non-null. Структурите отменят това, за да имат „основано на стойността равенство“, което позволява да се правят сравнения на всяко поле от структурата, като се извикват по тях рекурсивен начин.

  • Позиционни записи, осигуряващи подход към записи, където съдържанието се дава чрез конструкторски аргументи и може да бъде извлечено с позиционна деконструкция.

  • Програми от най-високо ниво, за да се отговори на проблема с твърде много boilerplate код.
Тагове: , , , , , , ,