Sobes.tech
Middle+

Ce avantaje oferă versiunea C# 12?

sobes.tech AI

Răspuns de la AI

  • Expresii lambda unice (Constructorii primari)
  • Expresia typeof pentru obținerea tipului de array inline
  • Interceptori (Interceptors) - o caracteristică experimentală, pentru interceptarea apelurilor de metode și înlocuirea lor în timpul compilării.
// Constructorii primari în C# 12
public class MyClass(int param1, string param2)
{
    // Parametrii constructorului sunt disponibili în corpul clasei
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Utilizare
var instance = new MyClass(10, "hello");
// typeof pentru array-uri inline în C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Numele nu contează
}

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