Еще одна вещь, которую вы можете рассмотреть, заключается в том, что метод string.Contains выполняет поиск с учетом регистра.
var str = "The quick brown fox blah";
var test1 = "quick";
var test2 = "Quick";
Console.WriteLine(string.Format("{0} CONTAINS {1} = {2}", str, test1, str.Contains(test1)));
Console.WriteLine(string.Format("{0} CONTAINS {1} = {2}", str, test2, str.Contains(test2)));
//Output
The quick brown fox blah CONTAINS quick = True
The quick brown fox blah CONTAINS Quick = False
Если вы не можете выполнить поиск без учета регистра, чтобы оба приведенных выше результата возвращали true, сначала следует поместить строки в нижнем регистре ...
Console.WriteLine(string.Format("{0} CONTAINS {1} = {2}", str, test1, str.ToLower().Contains(test1.ToLower())));
Console.WriteLine(string.Format("{0} CONTAINS {1} = {2}", str, test2,
str.ToLower().Contains(test2.ToLower())));
//Output
The quick brown fox blah CONTAINS quick = True
The quick brown fox blah CONTAINS Quick = True