Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

StringComparison-Enumeration

 

Veröffentlicht: August 2016

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

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

<SerializableAttribute>
<ComVisibleAttribute(True)>
Public Enumeration StringComparison

MembernameBeschreibung
CurrentCulture

Vergleichen Sie Zeichenfolgen mithilfe kulturabhängiger Sortierregeln und der aktuellen Kultur.

CurrentCultureIgnoreCase

Vergleichen Sie Zeichenfolgen mithilfe von kulturabhängigen Sortierregeln, der aktuellen Kultur und durch Ignorieren der Groß-/Kleinschreibung für die verglichenen Zeichenfolgen.

InvariantCulture

Vergleichen Sie Zeichenfolgen mithilfe kulturabhängiger Sortierregeln und der invarianten Kultur.

InvariantCultureIgnoreCase

Vergleichen Sie Zeichenfolgen mithilfe von kulturabhängigen Sortierregeln, der invarianten Kultur und durch Ignorieren der Groß-/Kleinschreibung für die verglichenen Zeichenfolgen.

Ordinal

Vergleichen Sie Zeichenfolgen mithilfe von ordinalen (binären) Sortierregeln.

OrdinalIgnoreCase

Vergleichen Sie Zeichenfolgen mithilfe von ordinalen (binären) Sortierregeln und durch Ignorieren der Groß-/Kleinschreibung für die verglichenen Zeichenfolgen.

Die StringComparison Enumeration wird verwendet, um anzugeben, ob ein Zeichenfolgenvergleich der aktuellen Kultur oder der invarianten Kultur, Word oder Ordinalsortierung verwenden und Groß- und Kleinschreibung beachtet werden sollten.

System_CAPS_importantWichtig

Beim Aufruf einer Methode zum Zeichenfolgenvergleich wie z. B. String.Compare, String.Equals, oder String.IndexOf, Sie sollten immer aufrufen, eine Überladung, die einen Parameter vom Typ enthält StringComparison , damit Sie den Typ des Vergleichs angeben können, die die Methode ausführt. Weitere Informationen finden Sie unter Empfohlene Vorgehensweisen für die Verwendung von Zeichenfolgen in .NET Framework.

Ein Vorgang, der Word-Sortierregeln verwendet, führt einen kulturabhängigen Vergleich, bei dem bestimmten nicht alphanumerischen Unicode-Zeichen möglicherweise bestimmte Gewichtungen, die ihnen zugewiesen haben. Mithilfe von Word-Sortierregeln und den Konventionen einer bestimmten Kultur, dem Bindestrich ("-") ggf. eine sehr geringe Gewichtung zugeordnet, sodass "Coop" und "Co-op" in einer sortierten Liste nebeneinander angezeigt werden.

Ein Vorgang, der ordinalen Sortierregeln verwendet, führt einen Vergleich aus, basierend auf dem numerischen Wert (Unicode-Codepunkt) der einzelnen Char in der Zeichenfolge. Ein ordinalen Vergleich ist schneller, aber kulturunabhängige. Bei Ordinalsortierung zum Sortieren von Zeichenfolgen, die mit Unicode-Zeichen (U +) beginnen Verwendung, werden die Zeichenfolge U + Xxxx vor der Zeichenfolge U + Yyyy kommt, wenn der Wert von Xxxx numerisch kleiner ist als Yyyy ist.

Weitere Informationen zu vergleichen finden Sie unter der System.String -Klasse "Hinweise". Weitere Informationen zu Kultur, finden Sie unter der System.Globalization.CultureInfo -Klasse "Hinweise". Richtlinien dazu, wann ordinal oder kulturabhängigen Vergleichs oder der Regeln der invarianten Kultur verwenden, finden Sie unter Empfohlene Vorgehensweisen für die Verwendung von Zeichenfolgen in .NET Framework.

Im folgenden Beispiel werden vier Sätze von Wörtern mit jedes Mitglied der StringComparison Enumeration. Die Qualität der Vergleiche verwenden die Konventionen der englischen (USA) und Nord-Sami (Schweden)-Nothern Kulturen. Beachten Sie, dass die Zeichenfolgen "Encyclopædia" und "Enzyklopädie" entspricht in der Kultur En-US, aber nicht in den SAMI-Nördliche (Schweden) Kultur berücksichtigt werden.

Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim cultureNames() As String = { "en-US", "se-SE" }
      Dim strings1() As String = { "case",  "encyclopædia",  
                                   "encyclopædia", "Archæology" }
      Dim strings2() As String = { "Case", "encyclopaedia", 
                                   "encyclopedia" , "ARCHÆOLOGY" }
      Dim comparisons() As StringComparison = CType([Enum].GetValues(GetType(StringComparison)),
                                           StringComparison())

      For Each cultureName In cultureNames
         Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cultureName)
         Console.WriteLine("Current Culture: {0}", CultureInfo.CurrentCulture.Name)
         For ctr As Integer = 0 To strings1.GetUpperBound(0)
            For Each comparison In comparisons
               Console.WriteLine("   {0} = {1} ({2}): {3}", strings1(ctr),
                                 strings2(ctr), comparison, 
                                 String.Equals(strings1(ctr), strings2(ctr), comparison))
            Next
            Console.WriteLine()         
         Next
         Console.WriteLine()
      Next
   End Sub
End Module
' 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

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 2.0
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
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: