Eu tenho uma lista testList
que contém um monte de seqüências de caracteres. Eu gostaria de adicionar uma nova string testList
somente 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 Contains
porque isso não leva em conta a caixa. Eu também não quero usar ToUpper/ToLower
por 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