Перейти к содержанию

Введение в C# 10

C# 10 - новое мажорное обновление C#, поставляемое с .NET 6. Оно содержит некоторое число заметных изменений, можно сказать - настоящих прорывов в процессе программирования приложений .NET.

Глобальные юзинги

Это возможность объявить using один раз для всего проекта, что позволяет не повторять эту директиву в каждом файле. Выглядит это так:

global using AssemblyToImport;

Эта возможность позволяет нам объявлять все юзинги в едином файле, например, GlobalUsings.cs.

Файловые пространства имён

В подавляющем большинстве файлов вашего проекта используется одно пространство имён на файл. Это приводит нас к логичному упрощению кода - возможности указать, что пространство имён определено для всего файла целиком. Делается это путём замены фигурных скобок в объявлении пространства имён на точку с запятой.

namespace CountryService.gRPC.Mappers;

Record struct

В предыдущей версии языка ключевое слово record применялось только к классам. Начиная с .NET 6 и C# 10 его можно применять и к структурам. Чтобы не перепутать, для того, чтобы применить record к классу, нужно написать public record class MyClass, а в случае со структурой - public record struct MyStruct. Для совместимости с предыдущей версией, запись public record MyClass будет означать, что record применено к классу. Record struct работает аналогично record class (with-выражения, равенство и сравнение), с тем исключением, что “под капотом” будут структуры, а не объекты класса. Также следует помнить, что record struct не делает результат неизменяемым по умолчанию; нужно указать ключевое слово readonly для этого. Интересный факт - производительность чтения/записи в record struct будет выше, чем в случае с обычной структурой.


Последнее обновление : 5 ноября 2023 г.
Дата создания : 6 апреля 2023 г.

Комментарии

Комментарии