Ответ 1
-
Вы можете использовать функцию
ToLower()
.ToLower
изменяет строки на все строчные буквы. Он преобразует всю строку - без изменения букв, которые уже имеют нижнее значение или цифры. Он копирует строку и возвращает ссылку на новую строку. Так что лучше всегда объявлятьcriteria.Author.ToLower()
вне запроса.string lowerAuthor = criteria.Author.ToLower(); returnData = returnData.Where (x => x.Author.ToLower().Contains(lowerAuthor));
-
Вы также можете использовать перегрузку
IndexOf
с перечислениемStringComparison
. Это даст вам лучшую производительность, чемToLower()
. Подпись этой перегрузки:int string.IndexOf(string value, StringComparison comparisonType);
returnData = returnData.Where (x => x.Author.IndexOf(criteria.Author, StringComparison.CurrentCultureIgnoreCase) != -1);