Sobes.tech
Middle+

Quels avantages offre la version C# 12?

sobes.tech IA

Réponse de l'IA

  • Expressions lambda uniques (constructeurs primaires)
  • L'expression typeof pour obtenir le type d'un tableau en ligne
  • Intercepteurs (Interceptors) - une fonctionnalité expérimentale, pour intercepter les appels de méthodes et les remplacer lors de la compilation.
// Constructeurs primaires en C# 12
public class MyClass(int param1, string param2)
{
    // Les paramètres du constructeur sont accessibles dans le corps de la classe
    public int Property1 { get; } = param1;
    public string Property2 { get; } = param2;
}

// Utilisation
var instance = new MyClass(10, "hello");
// typeof pour les tableaux en ligne en C# 12
[System.Runtime.CompilerServices.InlineArray(10)]
public struct MyInlineArray<T>
{
    private T _element0; // Le nom n'a pas d'importance
}

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