Строка LINQ содержит другую строку без учета регистра

Я работаю в приложении C# Metro для Windows 8 и пытаюсь отфильтровать ObservableCollectionс помощью LINQ, где свойство содержит некоторую строку, и мне нужно, чтобы она будет нечувствительным к регистру.

 var searchResults = from _rest in App.ViewModel.Restaurants
                     where  _rest.Name.IndexOf(queryText,
                                 StringComparison.CurrentCultureIgnoreCase) >= 0
                     select _rest;

Я работаю над

  • Использованием string1.Contains(string2).ToUpper()в обеих строках.
  • Использование string1.Contains(string2).ToLower()в обеих строках.
  • Использование string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0.
  • Использование string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0.
  • Использование String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase).

Но ни один из этих методов не работает у меня без учета регистра, работает нормально, если я правильно пишу имя.

У кого-нибудь была такая же проблема в Windows 8??

Заранее благодарим за любую помощь.

6
задан Mahmoud Gamal 20 June 2012 в 12:46
поделиться