Sobes.tech
Junior — Middle

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

sobes.tech AI

Отговор от 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); // Вярно, сравнение по стойност