J'ai une liste testListqui contient un tas de chaînes. Je voudrais ajouter une nouvelle chaîne dans le testListuniquement si elle n'existe pas déjà dans la liste. Par conséquent, je dois effectuer une recherche insensible à la casse dans la liste et la rendre efficace. Je ne peux pas utiliser Containscar cela ne prend pas en compte le boîtier. Je ne veux pas non plus utiliser ToUpper/ToLowerpour des raisons de performances. Je suis tombé sur cette méthode, qui fonctionne:
if(testList.FindAll(x => x.IndexOf(keyword,
StringComparison.OrdinalIgnoreCase) >= 0).Count > 0)
Console.WriteLine("Found in list");
Cela fonctionne, mais cela correspond également à des mots partiels. Si la liste contient «chèvre», je ne peux pas ajouter «avoine» car il prétend que «avoine» est déjà dans la liste. Existe-t-il un moyen de rechercher efficacement des listes sans tenir compte de la casse, où les mots doivent correspondre exactement? Merci