Estoy trabajando en una aplicación C# Windows 8 Metro y estoy tratando de filtrar un ObservableCollection<T>
usando LINQ donde una propiedad contiene alguna cadena, y necesito que no distinga entre mayúsculas y minúsculas.cadena LINQ contiene otra cadena insensible a mayúsculas/minúsculas
var searchResults = from _rest in App.ViewModel.Restaurants
where _rest.Name.IndexOf(queryText,
StringComparison.CurrentCultureIgnoreCase) >= 0
select _rest;
que evitar
Using string1.Contains(string2).ToUpper()
en ambas cadenas.Using string1.Contains(string2).ToLower()
en ambas cadenas.Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0
.Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0
.Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase)
.
Pero ninguno de estos métodos funciona para mí de una manera insensible, funciona bien si escribo el nombre correctamente.
¿Alguien tiene el mismo problema en Windows 8?
Gracias de antemano por cualquier ayuda brindada.
¿Puede dar un ejemplo breve pero completo que demuestre el problema? –
No son nombres de restaurantes europeos continentales, ¿o sí? ;-) – dash
¿Funciona como lo desea si aplica la misma expresión LINQ, por ejemplo, en una aplicación .NET 4 (.0) WPF? –