Eu tenho uma lista testListque contém um monte de seqüências de caracteres. Eu gostaria de adicionar uma nova string testListsomente se ela ainda não existir na lista. Portanto, preciso fazer uma pesquisa sem distinção entre maiúsculas e minúsculas e torná-la eficiente. Não posso usar Containsporque isso não leva em conta a caixa. Eu também não quero usar ToUpper/ToLowerpor motivos de desempenho. Me deparei com este método, que funciona:
if(testList.FindAll(x => x.IndexOf(keyword,
StringComparison.OrdinalIgnoreCase) >= 0).Count > 0)
Console.WriteLine("Found in list");
Isso funciona, mas também corresponde a palavras parciais. Se a lista contiver "cabra", não será possível adicionar "aveia" porque ela afirma que "aveia" já está na lista. Existe uma maneira de pesquisar listas de maneira eficiente, sem distinção entre maiúsculas e minúsculas, onde as palavras precisam corresponder exatamente? obrigado