J'ai une liste testList
qui contient un tas de chaînes de caractères. Je voudrais ajouter une nouvelle chaîne dans le fichier testList
seulement s'il 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 Contains
parce que ça ne tient pas compte de l'enveloppe. Je ne veux pas non plus utiliser ToUpper/ToLower
pour des raisons de performance. 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 aussi à 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 d'effectuer une recherche efficace dans les listes sans tenir compte de la casse, les mots devant correspondre exactement ? Merci.