Sobes.tech
Middle+

Kokias naudą teikia C# 12 versija?

sobes.tech AI

Atsakymas iš AI

  • Vienkartinės lambda išraiškos (Pagrindiniai konstruktoriai)
  • typeof išraiška, norint gauti inline masyvo tipą
  • Interceptors - eksperimentinė funkcija, skirta sulaikyti metodų iškvietimus ir juos pakeisti kompiliacijos metu.
// C# 12 Pagrindiniai konstruktoriai
public class MyClass(int param1, string param2)
{
    // Konstruktoriaus parametrai yra prieinami klasės kūne
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Naudojimas
var instance = new MyClass(10, "hello");
// typeof inline masyvams C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Pavadinimas nesvarbu
}

// typeof(MyInlineArray<int>) grąžins System.Runtime.CompilerServices.InlineArray<int>
// typeof(MyInlineArray<int>[0]) grąžins System.Int32
Console.WriteLine(typeof(MyInlineArray<int>));
Console.WriteLine(typeof(MyInlineArray<int>[0]));