4 новых идеи C#12 Preview 7, которыми можно пользоваться каждый день

.NET 8 выйдет в ноябре, и Microsoft удивляет нас предварительными версиями C# 12.0. Следующая выдающаяся языковая версия уже доступна в 7-й итерации.

Ажиотаж уже нарастает — скоро появится C# 12.0! Будет ли что-нибудь новое на этот раз? Послушайте, я, возможно, уже испортил: да!

Как включить новую версию

Взглянуть на C# 12.0 стоит и полезно. Многие новые функции являются долгожданными. Не только с моей точки зрения.

Итак, давайте установим на ваш компьютер SDK .NET 8 Preview. Предоставьте Visual Studio преимущества новейших функций. Но для разработки приложения на C# 12 необходимо не только изменить версию на net8.0. Вам также необходимо настроить файл *.csproj проекта, переключив LangVersion на preview.

<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <LangVersion>preview</LangVersion>
    </PropertyGroup>

</Project>

Все просто: я хочу начать с консольного приложения, чтобы вы могли начать загрузку.

Наконец, первичные конструкторы уже здесь!

Мне больше нечего сказать, не так ли?

Первичные конструкторы позволяют вам писать разрушительные короткие конструкторы.

var car = new Car("Ford", "Mustang");
car.Print();

public class Car(string brand, string model)
{
    public void Print() { Console.WriteLine($"{brand} {model}"); }
    public string GlobalIdentifier => $"{brand} {model}";
}

Вместо конструктора по умолчанию, который принимает параметры, а затем присваивает их полям в теле, вы можете напрямую указать конструктор или его параметры…