Sobes.tech
Middle+

¿Qué ventajas ofrece la versión C# 12?

sobes.tech AI

Respuesta de la IA

  • Expresiones lambda únicas (Constructores primarios)
  • La expresión typeof para obtener el tipo de un array en línea
  • Interceptores (Interceptors) - una característica experimental, para interceptar llamadas a métodos y reemplazarlas en tiempo de compilación.
// Constructores primarios en C# 12
public class MyClass(int param1, string param2)
{
    // Los parámetros del constructor están disponibles en el cuerpo de la clase
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Uso
var instance = new MyClass(10, "hello");
// typeof para arrays en línea en C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // El nombre no importa
}

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