C# Language Vérification de l'égalité des valeurs génériques.


Exemple

Si la logique de la classe ou de la méthode générique nécessite de vérifier l’égalité des valeurs de type générique, utilisez la propriété EqualityComparer<TType>.Default :

public void Foo<TBar>(TBar arg1, TBar arg2)
{
    var comparer = EqualityComparer<TBar>.Default;
    if (comparer.Equals(arg1,arg2)
    {
        ...
    }
}

Cette approche est mieux que d'appeler Object.Equals() méthode, parce que les contrôles de mise en œuvre de comparateur par défaut, si TBar Type implémente IEquatale<TBar> Interface et si oui, appelle IEquatable<TBar>.Equals(TBar other) méthode. Cela permet d'éviter la boxe / unboxing des types de valeur.