Contains() - не хиляет без учета регистра
нет версии без учета регистра. Вместо этого используйте
IndexOf (или регулярное выражение, хотя это не рекомендуется и излишне).
string string1 = "my string";
string string2 = "string";
bool isContained = string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0;
StringComparison.OrdinalIgnoreCase обычно используется для более "программируемого" текста, такого как пути или константы, которые вы могли сгенерировать, и является самым быстрым средством сравнения строк. Для текстовых строк, которые являются лингвистическими, используйте StringComparison.CurrentCultureIgnoreCase или StringComparison.InvariantCultureIgnoreCase.