StringComparison Enumeration
TOC
Inhaltsverzeichnis reduzieren
Inhaltsverzeichnis erweitern

StringComparison-Enumeration

 

Gibt die Kultur, die Groß-/Kleinschreibung und die Sortierreihenfolge an, die von bestimmten Überladungen der String.Compare-Methode und der String.Equals-Methode verwendet werden sollen.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public enum StringComparison

MembernameBeschreibung
CurrentCulture

Vergleichen Sie Zeichenfolgen mit kulturabhängigen Sortierregeln und der aktuellen Kultur.

CurrentCultureIgnoreCase

Vergleichen Sie Zeichenfolgen anhand der kulturabhängigen Sortierregeln und der aktuellen Kultur ohne Berücksichtigung der Groß- und Kleinschreibung der verglichenen Zeichenfolgen.

InvariantCulture

Vergleichen Sie Zeichenfolgen mit kulturabhängigen Sortierregeln und der invarianten Kultur.

InvariantCultureIgnoreCase

Vergleichen Sie Zeichenfolgen anhand der kulturabhängigen Sortierregeln und der invarianten Kultur ohne Berücksichtigung der Groß- und Kleinschreibung der verglichenen Zeichenfolgen.

Ordinal

Vergleich von Zeichenfolgen anhand der ordinalen Sortierregeln.

OrdinalIgnoreCase

Vergleichen Sie Zeichenfolgen anhand der ordinalen Sortierregeln ohne Berücksichtigung der Groß- und Kleinschreibung.

Mit der StringComparison-Enumeration wird angegeben, ob beim Zeichenfolgenvergleich die derzeit aktivierte oder die invariante Kultur verwendet werden soll. Außerdem wird angegeben, ob wortbasierte oder ordinale Sortierregeln verwendet werden sollen und ob die Unterscheidung der Groß- und Kleinschreibung eine Rolle spielt oder nicht.

System_CAPS_importantWichtig

Wenn Sie eine Zeichenfolgenvergleichsmethode wie String.Compare, String.Equals oder String.IndexOf aufrufen, sollten Sie immer eine Überladung aufrufen, die einen Parameter vom Typ StringComparison enthält, können Sie den Typ des Vergleichs angeben können, den die Methode ausgeführt wird.Weitere Informationen finden Sie unter Best Practices for Using Strings in the .NET Framework.

Bei einer wortbasierte Sortieroperation wird ein kulturabhängiger Vergleich ausgeführt, bei dem bestimmten, nicht alphanumerischen Unicode-Zeichen eine besondere Gewichtung zugeordnet werden kann.Beispielsweise wird dem Bindestrich ("-") ggf. eine sehr geringe Gewichtung zugeordnet, sodass "coop" und "co-op" in einer sortierten Liste nebeneinander angezeigt werden.

Bei einer ordinalen Sortieroperation wird ein Vergleich auf der Grundlage des numerischen Werts (Unicode-Codepunkt) der einzelnen Char-Zeichen in der Zeichenfolge ausgeführt.Ein ordinaler Vergleich ist schnell, aber kulturunabhängig.Wenn Sie Sortierregeln für Ordnungszahlen zum Sortieren von Zeichenfolgen verwenden, die mit einem Unicode-Zeichen (U+) beginnen, wird die Zeichenfolge U+xxxx vor der Zeichenfolge U+yyyy einsortiert, wenn der Wert von xxxx numerisch kleiner ist als der Wert von yyyy.

Weitere Informationen zu Vergleichen finden Sie in den Hinweisen zur System.String-Klasse.Weitere Informationen zu Kulturen finden Sie in den Hinweisen zur System.Globalization.CultureInfo-Klasse.Richtlinien dazu, wann Ordnungszahl- oder kulturabhängige Vergleichsregeln oder die Regeln für die invariante Kultur verwendet werden, finden Sie unter Best Practices for Using Strings in the .NET Framework.

Im folgenden Beispiel werden vier Gruppen Wörter, indem jedes Member der StringComparison-Enumeration verwendet. Die Vergleiche verwenden die Konventionen der Kulturen Englisch (USA) und oberes Sami (Schweden).Beachten Sie, dass sich die Zeichenfolgen "Enzyklopädie" und "Enzyklopädie" als äquivalent in der Kultur jedoch nicht in der Kultur Sami (Nord-Schweden) werden.

using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "en-US", "se-SE" };
      String[] strings1 = { "case",  "encyclopædia",  
                            "encyclopædia", "Archæology" };
      String[] strings2 = { "Case", "encyclopaedia", 
                            "encyclopedia" , "ARCHÆOLOGY" };
      StringComparison[] comparisons = (StringComparison[]) Enum.GetValues(typeof(StringComparison));

      foreach (var cultureName in cultureNames) {
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName);
         Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name);
         for (int ctr = 0; ctr <= strings1.GetUpperBound(0); ctr++) {
            foreach (var comparison in comparisons) 
               Console.WriteLine("   {0} = {1} ({2}): {3}", strings1[ctr],
                                 strings2[ctr], comparison, 
                                 String.Equals(strings1[ctr], strings2[ctr], comparison));

            Console.WriteLine();         
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//    Current Culture: en-US
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): True
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True
//    
//    
//    Current Culture: se-SE
//       case = Case (CurrentCulture): False
//       case = Case (CurrentCultureIgnoreCase): True
//       case = Case (InvariantCulture): False
//       case = Case (InvariantCultureIgnoreCase): True
//       case = Case (Ordinal): False
//       case = Case (OrdinalIgnoreCase): True
//    
//       encyclopædia = encyclopaedia (CurrentCulture): False
//       encyclopædia = encyclopaedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopaedia (InvariantCulture): True
//       encyclopædia = encyclopaedia (InvariantCultureIgnoreCase): True
//       encyclopædia = encyclopaedia (Ordinal): False
//       encyclopædia = encyclopaedia (OrdinalIgnoreCase): False
//    
//       encyclopædia = encyclopedia (CurrentCulture): False
//       encyclopædia = encyclopedia (CurrentCultureIgnoreCase): False
//       encyclopædia = encyclopedia (InvariantCulture): False
//       encyclopædia = encyclopedia (InvariantCultureIgnoreCase): False
//       encyclopædia = encyclopedia (Ordinal): False
//       encyclopædia = encyclopedia (OrdinalIgnoreCase): False
//    
//       Archæology = ARCHÆOLOGY (CurrentCulture): False
//       Archæology = ARCHÆOLOGY (CurrentCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (InvariantCulture): False
//       Archæology = ARCHÆOLOGY (InvariantCultureIgnoreCase): True
//       Archæology = ARCHÆOLOGY (Ordinal): False
//       Archæology = ARCHÆOLOGY (OrdinalIgnoreCase): True

Universal Windows Platform
Verfügbar seit 4.5
.NET Framework
Verfügbar seit 2.0
Portable Class Library
Unterstützt in: portable .NET platforms
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen:
© 2016 Microsoft