LINQ string einen anderen string enthält groß-und Kleinschreibung

Arbeite ich in einer C# - Windows-8 Metro-app und ich bin versucht zu filtern eines ObservableCollection<T> mit LINQ, wo eine Eigenschaft enthält einen string, und ich brauche, dass es groß-und Kleinschreibung.

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

Ich umgehen

  • Using string1.Contains(string2).ToUpper() in beiden Zeichenketten.
  • Using string1.Contains(string2).ToLower() in beiden Zeichenketten.
  • Using string1.IndexOf(string2, StringComparison.CurrentCultureIgnoreCase) >= 0.
  • Using string1.IndexOf(string2, StringComparison.OrdinalIgnoreCase) >= 0.
  • Using String.Compare(string1, string2, StringComparison.CurrentCultureIgnoreCase).

Aber keine dieser Methoden funktioniert bei mir in der groß-und Kleinschreibung Weg, funktioniert ok, wenn ich Schreibe die Namen richtig.

Hat jemand die gleichen Problem in Windows 8??

Vielen Dank im Voraus für jede Hilfe, die zur Verfügung gestellt.

  • Können Sie uns ein kurzes, aber vollständiges Beispiel demonstriert das problem?
  • Sie sind nicht Continental European restaurant-Namen sind Sie? 😉
  • Es funktioniert, wie Sie es wollen, wenn Sie die gleichen LINQ-Ausdruck beispielsweise in " ein .NET 4(.0) WPF-Anwendung?
  • Aus einem einfachen .NET 4.5 Metro-Anwendung (VS 2011 Beta, En-US) und auf Ihre LINQ-Ausdruck. Funktioniert, wie erwartet. Die Kultur verwenden Sie?
  • Können Sie uns einige Beispiele nennen?
  • Vielen Dank für Eure Antworten. Ich arbeite in ES-es-Kultur.
  • Welche Art von Beispiel meinst du?? Ich bin laden die ObservableCollection<Restaurant> deserializating eine UTF-8 XML-Dokument, habe ich keine Probleme hier und die Sammlung ist gefüllt Ordnung. Zum Beispiel habe ich rund 30 restaurants, die enthält "Despensa" in Ihrem Namen, wenn ich bei der Suche das Wort "Despensa", meine app zeigt diese 30 Ergebnisse, aber wenn ich Suche "despensa", "DESPENSA", oder "DesPensA" die app zeigt mir keine Ergebnisse. Ich werde versuchen eine neue, leere Metro-app heute morgen.

InformationsquelleAutor Rotten | 2012-06-20
Schreibe einen Kommentar