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