Sobes.tech
Middle+

Quali vantaggi offre la versione C# 12?

sobes.tech AI

Risposta dell'AI

  • Espressioni lambda uniche (costruttori primari)
  • L'espressione typeof per ottenere il tipo di array inline
  • Interceptor (Interceptors) - una funzionalità sperimentale, per intercettare le chiamate ai metodi e sostituirle durante la compilazione.
// Costruttori primari in C# 12
public class MyClass(int param1, string param2)
{
    // I parametri del costruttore sono disponibili nel corpo della classe
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Uso
var instance = new MyClass(10, "hello");
// typeof per array inline in C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Il nome non importa
}

// typeof(MyInlineArray<int>) restituirà System.Runtime.CompilerServices.InlineArray<int>
// typeof(MyInlineArray<int>[0]) restituirà System.Int32
Console.WriteLine(typeof(MyInlineArray<int>));
Console.WriteLine(typeof(MyInlineArray<int>[0]));