Pesquisa por lista que não diferencia maiúsculas de minúsculas
Eu tenho uma listatestList
que contém um monte de strings. Eu gostaria de adicionar uma nova string notestList
somente se 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 usarContains
porque isso não leva em conta a caixa. Eu também não quero usarToUpper/ToLower
por razões 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 posso 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