C# 9.0, выпущенный вместе с .NET 5, содержит много новых интересных функций, которые значительно упростят работу с кодом.

Поскольку в C# 9.0 появилось много новых функций, мы в основном сосредоточимся на четырех основных новых функциях. Помните, что на момент написания этой статьи .NET 5 совместим только с Visual Studio 2019 (v16.8).

1. Инициировать только сеттеры

Давайте разберемся в этом с помощью примера.

Определите класс Student с параметрами: -

  1. РоллНет
  2. Имя
  3. Возраст

Все эти параметры можно инициализировать только один раз. Итак, давайте посмотрим, как мы это делали раньше.

Мы не можем снова установить значение RollNo, так как оно не содержит сеттера и поэтому может быть установлено только с помощью конструктора.

Однако этот конструктор, по сути, является дополнительным шаблонным кодом, который мы должны определить, чтобы реализовать эту функциональность.

Теперь давайте сделаем это, используя новую функцию C# 9.0 Init.

Теперь init позволит инициализировать свойство только один раз во время работы программы.

Как мы видим, после инициализации класса Student его свойства не могут быть изменены, так как в них есть init.

2. Записи

Давайте разберемся с этим на том же примере класса Student. До C# 9.0 мы писали примерно так.

Теперь запись дает нам больше синтаксического сахара. Итак, начиная с C# 9.0, мы можем написать это

Как мы видим, почти весь дополнительный шаблонный код, такой как инициализация конструктора, определение геттера с их свойствами, не требуется.

Это круто, правда !!!

По умолчанию все свойства записи доступны только для init.

Давайте посмотрим, как мы можем вызвать это в нашем методе Main.

Поскольку свойство name уже инициализировано, мы не можем установить его снова.

3. Заявления верхнего уровня

Для тех программистов, которые любят python и javascript, поскольку они почти не требуют шаблонного кода, операторы верхнего уровня предназначены для тех, а также для тех, кто ленив и думает, что даже написание каких-либо ненужных код Muda (бесполезен).

Вот как мы писали программу «Hello World» до C# 9.0.

Теперь давайте посмотрим на магию C# 9.0.

Если вы думаете, что это блеф, то нет. Эта одна строка кода эквивалентна программе «Hello World», упомянутой выше.

Он предоставляет возможности, подобные сценариям, и упрощает переход программистов с таких языков, как python и javascript, на C#.

Спасибо за чтение этой статьи Adios