Методы C# для проверки наличия в списке строки без учета регистра

Чтобы проверить, содержит ли список строку без учета регистра, используя C#, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1: использование LINQ

bool containsCaseInsensitive = list.Any(s => s.Equals(searchString, StringComparison.OrdinalIgnoreCase));

Метод 2. Использование специального компаратора

bool containsCaseInsensitive = list.Contains(searchString, StringComparer.OrdinalIgnoreCase);

Метод 3. Преобразование списка и строки в нижний регистр

bool containsCaseInsensitive = list.Any(s => s.ToLower() == searchString.ToLower());

Метод 4. Использование метода IndexOf для сравнения без учета регистра

bool containsCaseInsensitive = list.Exists(s => s.IndexOf(searchString, StringComparison.OrdinalIgnoreCase) >= 0);

Метод 5. Использование цикла foreach

bool containsCaseInsensitive = false;
foreach (string item in list)
{
    if (item.Equals(searchString, StringComparison.OrdinalIgnoreCase))
    {
        containsCaseInsensitive = true;
        break;
    }
}