Sobes.tech
Middle+

What advantages does C# 12 offer?

sobes.tech AI

Answer from AI

  • Single-use lambda expressions (Primary constructors)
  • The typeof expression for obtaining the type of an inline array
  • Interceptors - an experimental feature for intercepting method calls and substituting them at compile time.
// C# 12 Primary constructors
public class MyClass(int param1, string param2)
{
    // Constructor parameters are accessible within the class body
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Usage
var instance = new MyClass(10, "hello");
// C# 12 typeof for inline arrays
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Name is not important
}

// typeof(MyInlineArray<int>) returns System.Runtime.CompilerServices.InlineArray<int>
// typeof(MyInlineArray<int>[0]) returns System.Int32
Console.WriteLine(typeof(MyInlineArray<int>));
Console.WriteLine(typeof(MyInlineArray<int>[0]));
What advantages does C# 12 offer? — C# - sobes.tech