Поиск списка без учета регистра
У меня есть списокtestList
который содержит кучу строк. Я хотел бы добавить новую строку вtestList
только если он еще не существует в списке. Поэтому мне нужно выполнить поиск в списке без учета регистра и сделать его эффективным. Я не могу использоватьContains
потому что это не принимает во внимание корпус. Я тоже не хочу использоватьToUpper/ToLower
по причинам производительности. Я сталкивался с этим методом, который работает:
if(testList.FindAll(x => x.IndexOf(keyword,
StringComparison.OrdinalIgnoreCase) >= 0).Count > 0)
Console.WriteLine("Found in list");
Это работает, но также соответствует частичным словам. Если список содержит «козел», я не могу добавить «овес», потому что он утверждает, что «овес» уже есть в списке. Есть ли способ эффективно искать списки без учета регистра, где слова должны точно совпадать? Спасибо