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