Étant donné l'exemple simple suivant:
List<string> list = new List<string>() { "One", "Two", "Three", "three", "Four", "Five" };
CaseInsensitiveComparer ignoreCaseComparer = new CaseInsensitiveComparer();
var distinctList = list.Distinct(ignoreCaseComparer as IEqualityComparer<string>).ToList();
Il apparaît que CaseInsensitiveComparer n'est pas réellement utilisé pour effectuer une comparaison insensible à la casse.
En d'autres termes, distinctList contient le même nombre d'éléments que la liste . Au lieu de cela, je m'attendrais par exemple à ce que "Trois" et "Trois" soient considérés comme égaux.
Est-ce que je manque quelque chose ou est-ce un problème avec l'opérateur Distinct?