StringComparison.OrdinalIgnoreCase обычно используется для более "программируемого" текста, такого как пути или константы, которые вы могли сгенерировать, и является самым быстрым средством сравнения строк. Для текстовых строк, которые являются лингвистическими, используйте StringComparison.CurrentCultureIgnoreCase или StringComparison.InvariantCultureIgnoreCase.
Ответ 3
Содержит возвращает логическое значение, если найдено совпадение. Если вы хотите искать регистр без учета регистра, вы можете сделать исходную строку и строку совпадающими как с верхним регистром, так и с нижним регистром перед сопоставлением.
Пример:
if(sourceString.ToUpper().Contains(stringToFind.ToUpper()))
{
// string is found
}