LINQ字符串包含另一个不区分大小写的字符串

Rot*_*ten 6 c# linq linq-to-objects windows-8

我正在使用C#Windows 8 Metro应用程序,我正在尝试过滤ObservableCollection<T>使用LINQ,其中属性包含一些字符串,我需要它不区分大小写.

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

我工作

  • Using string1.Contains(string2).ToUpper() 在两个字符串中.
  • Using string1.Contains(string2).ToLower() 在两个字符串中.
  • Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0.
  • Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0.
  • Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase).

但是这种方法中没有一种能够以不区分大小写的方式为我工作,如果我正确地写出名称,则工作正常.

在Windows 8中有人有同样的问题吗?

提前感谢您提供的任何帮助.

Dea*_*alk 0

尝试这个:

var searchResults = from _rest in App.ViewModel.Restaurants
                         where  _rest.Name.IndexOf(queryText,
                                     StringComparison.InvariantCultureIgnoreCase) >= 0
                         select _rest;
Run Code Online (Sandbox Code Playgroud)