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