Sto lavorando in un'app di Windows 8 Metro C# e sto tentando di filtrare uno utilizzando LINQ in cui una proprietà contiene una stringa, e ho bisogno che sia insensibile alla distinzione tra maiuscole e minuscole.La stringa LINQ contiene un'altra stringa senza distinzione tra maiuscole
var searchResults = from _rest in App.ViewModel.Restaurants
where _rest.Name.IndexOf(queryText,
StringComparison.CurrentCultureIgnoreCase) >= 0
select _rest;
ho aggirare
Using string1.Contains(string2).ToUpper()
in entrambe le stringhe.Using string1.Contains(string2).ToLower()
in entrambe le stringhe.Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0
.Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0
.Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase)
.
Ma nessuno di questi metodi funziona per me in modo insensibile al caso, funziona bene se scrivo il nome correttamente.
Qualcuno ha lo stesso problema in Windows 8 ??
Grazie in anticipo per qualsiasi aiuto fornito.
Puoi fornire un esempio breve ma completo che dimostri il problema? –
Non sono nomi di ristoranti dell'Europa continentale? ;-) – dash
Funziona come vuoi se applichi la stessa espressione LINQ in un'applicazione .NET 4 (.0) WPF? –