C# 9.0, выпущенный вместе с .NET 5, содержит много новых интересных функций, которые значительно упростят работу с кодом.
Поскольку в C# 9.0 появилось много новых функций, мы в основном сосредоточимся на четырех основных новых функциях. Помните, что на момент написания этой статьи .NET 5 совместим только с Visual Studio 2019 (v16.8).
1. Инициировать только сеттеры
Давайте разберемся в этом с помощью примера.
Определите класс Student с параметрами: -
- РоллНет
- Имя
- Возраст
Все эти параметры можно инициализировать только один раз. Итак, давайте посмотрим, как мы это делали раньше.
Мы не можем снова установить значение 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