I'm working in a C# Windows 8 Metro app and I'm trying to filter an ObservableCollection<T> using LINQ where a property contains some string, and I need that it will be case insensitive.
 var searchResults = from _rest in App.ViewModel.Restaurants
                     where  _rest.Name.IndexOf(queryText,
                                 StringComparison.CurrentCultureIgnoreCase) >= 0
                     select _rest;
I work around
- Using string1.Contains(string2).ToUpper()in both strings.
- Using string1.Contains(string2).ToLower()in both strings.
- Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0.
- Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0.
- Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase).
But no one of this methods works for me in a case insensitive way, works ok if I write the name correctly.
Has someone have the same issue in Windows 8??
Thanks in advance for any help provided.
 
     
     
    