Sobes.tech
Junior — Middle
84

Какие дополнительные возможности и нововведения были добавлены в последних версиях языка C#?

Ответ от нейросети

sobes.tech AI

В последних версиях C# были добавлены следующие ключевые возможности и улучшения:

  • Records — удобный способ создавать неизменяемые типы с поддержкой сравнения по значению.
  • Pattern Matching — расширенные возможности сопоставления с образцом, включая switch с шаблонами.
  • Nullable Reference Types — система для контроля nullable-ссылок на уровне компиляции, уменьшающая количество ошибок NullReferenceException.
  • Async Streams — асинхронные перечислители с использованием await foreach.
  • Top-level statements — упрощённый синтаксис для небольших программ без необходимости писать класс и метод Main.
  • Init-only properties — свойства, которые можно установить только при инициализации объекта.
  • Target-typed new expressions — упрощённый синтаксис создания объектов, когда тип можно вывести из контекста.

Пример использования record:

public record Person(string FirstName, string LastName);

var p1 = new Person("Иван", "Иванов");
var p2 = new Person("Иван", "Иванов");

Console.WriteLine(p1 == p2); // True, сравнение по значению