CompareInfo.Compare CompareInfo.Compare CompareInfo.Compare CompareInfo.Compare Method

Definition

Vergleicht zwei Zeichenfolgen.Compares two strings.

Überlädt

Compare(String, String) Compare(String, String) Compare(String, String) Compare(String, String)

Vergleicht zwei Zeichenfolgen.Compares two strings.

Compare(String, String, CompareOptions) Compare(String, String, CompareOptions) Compare(String, String, CompareOptions) Compare(String, String, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts zwei Zeichenfolgen.Compares two strings using the specified CompareOptions value.

Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32)

Vergleicht den Endabschnitt einer Zeichenfolge mit dem Endabschnitt einer anderen Zeichenfolge.Compares the end section of a string with the end section of another string.

Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts den Endabschnitt einer Zeichenfolge mit dem Endabschnitt einer anderen Zeichenfolge.Compares the end section of a string with the end section of another string using the specified CompareOptions value.

Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32)

Vergleicht einen Abschnitt einer Zeichenfolge mit einem Abschnitt einer anderen Zeichenfolge.Compares a section of one string with a section of another string.

Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts einen Abschnitt einer Zeichenfolge mit einem Abschnitt einer anderen Zeichenfolge.Compares a section of one string with a section of another string using the specified CompareOptions value.

Compare(String, String) Compare(String, String) Compare(String, String) Compare(String, String)

Vergleicht zwei Zeichenfolgen.Compares two strings.

public:
 virtual int Compare(System::String ^ string1, System::String ^ string2);
public virtual int Compare (string string1, string string2);
abstract member Compare : string * string -> int
override this.Compare : string * string -> int
Public Overridable Function Compare (string1 As String, string2 As String) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero string1 ist kleiner als string2.string1 is less than string2.
größer als 0 (Null)greater than zero string1 ist größer als string2.string1 is greater than string2.

Beispiele

Im folgenden Beispiel werden Teile von zwei Zeichen folgen mithilfe der CompareInfo verschiedenen-Objekte verglichen:The following example compares portions of two strings using the different CompareInfo objects:

// The following code example compares two strings using the different CompareInfo instances:
//    a CompareInfo instance associated with the S"Spanish - Spain" culture with international sort,
//    a CompareInfo instance associated with the S"Spanish - Spain" culture with traditional sort, and
//    a CompareInfo instance associated with the InvariantCulture.
using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "calle";
   String^ myStr2 = "calor";
   
   // Uses GetCompareInfo to create the CompareInfo that 
   // uses the S"es-ES" culture with international sort.
   CompareInfo^ myCompIntl = CompareInfo::GetCompareInfo( "es-ES" );
   
   // Uses GetCompareInfo to create the CompareInfo that 
   // uses the S"es-ES" culture with traditional sort.
   CompareInfo^ myCompTrad = CompareInfo::GetCompareInfo( 0x040A );
   
   // Uses the CompareInfo property of the InvariantCulture.
   CompareInfo^ myCompInva = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myCompIntl.
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1, myStr2 );
   Console::WriteLine( "   With myCompIntl::Compare: {0}", myCompIntl->Compare( myStr1, myStr2 ) );
   Console::WriteLine( "   With myCompTrad::Compare: {0}", myCompTrad->Compare( myStr1, myStr2 ) );
   Console::WriteLine( "   With myCompInva::Compare: {0}", myCompInva->Compare( myStr1, myStr2 ) );
}

/*
This code produces the following output.

Comparing "calle" and "calor"
   With myCompIntl::Compare: -1
   With myCompTrad::Compare: 1
   With myCompInva::Compare: -1
*/
// The following code example compares two strings using the different CompareInfo instances:
//    a CompareInfo instance associated with the "Spanish - Spain" culture with international sort,
//    a CompareInfo instance associated with the "Spanish - Spain" culture with traditional sort, and
//    a CompareInfo instance associated with the InvariantCulture.

using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "calle";
      String myStr2 = "calor";

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      CompareInfo myCompIntl = CompareInfo.GetCompareInfo( "es-ES" );
      
      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      CompareInfo myCompTrad = CompareInfo.GetCompareInfo( 0x040A );

      // Uses the CompareInfo property of the InvariantCulture.
      CompareInfo myCompInva = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myCompIntl.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1, myStr2 );
      Console.WriteLine( "   With myCompIntl.Compare: {0}", myCompIntl.Compare( myStr1, myStr2 ) );
      Console.WriteLine( "   With myCompTrad.Compare: {0}", myCompTrad.Compare( myStr1, myStr2 ) );
      Console.WriteLine( "   With myCompInva.Compare: {0}", myCompInva.Compare( myStr1, myStr2 ) );

   }

}


/*
This code produces the following output.

Comparing "calle" and "calor"
   With myCompIntl.Compare: -1
   With myCompTrad.Compare: 1
   With myCompInva.Compare: -1

*/
' The following code example compares two strings using the different CompareInfo instances:
'    a CompareInfo instance associated with the "Spanish - Spain" culture with international sort,
'    a CompareInfo instance associated with the "Spanish - Spain" culture with traditional sort, and
'    a CompareInfo instance associated with the InvariantCulture.

Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "calle"
      Dim myStr2 As [String] = "calor"

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      Dim myCompIntl As CompareInfo = CompareInfo.GetCompareInfo("es-ES")

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      Dim myCompTrad As CompareInfo = CompareInfo.GetCompareInfo(&H40A)

      ' Uses the CompareInfo property of the InvariantCulture.
      Dim myCompInva As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myCompIntl.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1, myStr2)
      Console.WriteLine("   With myCompIntl.Compare: {0}", myCompIntl.Compare(myStr1, myStr2))
      Console.WriteLine("   With myCompTrad.Compare: {0}", myCompTrad.Compare(myStr1, myStr2))
      Console.WriteLine("   With myCompInva.Compare: {0}", myCompInva.Compare(myStr1, myStr2))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "calle" and "calor"
'   With myCompIntl.Compare: -1
'   With myCompTrad.Compare: 1
'   With myCompInva.Compare: -1

Im folgenden Beispiel wird das Aufrufen der Compare-Methode veranschaulicht.The following example demonstrates calling the Compare method.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;

int main()
{
    array<String^>^ sign = gcnew array<String^> { "<", "=", ">" };

    // The code below demonstrates how strings compare
    // differently for different cultures.
    String^ s1 = "Coté"; 
    String^ s2 = "coté";
    String^ s3 = "côte";

    // Set sort order of strings for French in France.
    CompareInfo^ ci = (gcnew CultureInfo("fr-FR"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using fr-FR Compare of Coté = coté.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s1, s2, sign[ci->Compare(s1, s2, CompareOptions::IgnoreCase) + 1]);

    // Display the result using fr-FR Compare of coté > côte.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3, CompareOptions::None) + 1]);

    // Set sort order of strings for Japanese as spoken in Japan.
    ci = (gcnew CultureInfo("ja-JP"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using ja-JP Compare of coté < côte.
    Console::WriteLine("ja-JP Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3) + 1]);
}

// This code produces the following output.
//
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
using System;
using System.Text;
using System.Globalization;

public sealed class App
{
    static void Main(string[] args)
    {
        String[] sign = new String[] { "<", "=", ">" };

        // The code below demonstrates how strings compare 
        // differently for different cultures.
        String s1 = "Coté", s2 = "coté", s3 = "côte";

        // Set sort order of strings for French in France.
        CompareInfo ci = new CultureInfo("fr-FR").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);
      
        // Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s1, s2, sign[ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1]);

        // Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3, CompareOptions.None) + 1]);

        // Set sort order of strings for Japanese as spoken in Japan.
        ci = new CultureInfo("ja-JP").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);

        // Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3) + 1]);
    }
}

// This code produces the following output.
// 
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
Imports System
Imports System.Text
Imports System.Globalization

NotInheritable Public Class App
    Shared Sub Main(ByVal args() As String) 
        Dim sign() As String = {"<", "=", ">"}
        
        ' The code below demonstrates how strings compare 
        ' differently for different cultures.
        Dim s1 As String = "Coté"
        Dim s2 As String = "coté"
        Dim s3 As String = "côte"
        
        ' Set sort order of strings for French in France.
        Dim ci As CompareInfo = New CultureInfo("fr-FR").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s1, s2, sign((ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1)))
        
        ' Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3, CompareOptions.None) + 1)))
        
        ' Set sort order of strings for Japanese as spoken in Japan.
        ci = New CultureInfo("ja-JP").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3) + 1)))
    End Sub 'Main
End Class 'App

' This code produces the following output.
' 
' The LCID for fr-FR is 1036.
' fr-FR Compare: Coté = coté
' fr-FR Compare: coté > côte
' The LCID for ja-JP is 1041.
' ja-JP Compare: coté < côte

Hinweise

Standardmäßig wird der Vergleich mithilfe CompareOptions.Nonevon durchgeführt.By default, the comparison is performed by using CompareOptions.None. Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden aufrufen, die einen Parameter vom CompareOptions Typ aufweisen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should call string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen, d. h. Zeichen, die bei der Durchführung eines linguistischen oder kulturabhängigen Vergleichs nicht berücksichtigt werden.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Die Compare(String, String) -Methode berücksichtigt solche Zeichen nicht, wenn Sie einen Kultur abhängigen Vergleich durchführt.The Compare(String, String) method does not consider such characters when it performs a culture-sensitive comparison. Beispielsweise gibt ein Kultur abhängiger Vergleich von "Animal" mit "Ani-mal" (mit einem weichen Bindestrich oder U + 00ad) an, dass die beiden Zeichen folgen äquivalent sind, wie im folgenden Beispiel gezeigt.For instance, a culture-sensitive comparison of "animal" with "ani-mal" (using a soft hyphen, or U+00AD) indicates that the two strings are equivalent, as the following example shows.

[!code-vbSystem.Globalization.CompareInfo.Compare#1][!code-vbSystem.Globalization.CompareInfo.Compare#1]

Um Ignorable-Zeichen in einem Zeichen folgen Vergleich zu erkennen Compare(String, String, CompareOptions) , müssen Sie die-Methode aufrufen Ordinal und OrdinalIgnoreCase einen Wert options von oder für den-Parameter angeben.To recognize ignorable characters in a string comparison, call the Compare(String, String, CompareOptions) method and supply a value of either Ordinal or OrdinalIgnoreCase for the options parameter.

Compare(String, String, CompareOptions) Compare(String, String, CompareOptions) Compare(String, String, CompareOptions) Compare(String, String, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts zwei Zeichenfolgen.Compares two strings using the specified CompareOptions value.

public:
 virtual int Compare(System::String ^ string1, System::String ^ string2, System::Globalization::CompareOptions options);
public virtual int Compare (string string1, string string2, System.Globalization.CompareOptions options);
abstract member Compare : string * string * System.Globalization.CompareOptions -> int
override this.Compare : string * string * System.Globalization.CompareOptions -> int
Public Overridable Function Compare (string1 As String, string2 As String, options As CompareOptions) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

options
CompareOptions CompareOptions CompareOptions CompareOptions

Ein Wert, der definiert, wie string1 und string2 verglichen werden sollen.A value that defines how string1 and string2 should be compared. options ist entweder der allein verwendete Enumerationswert Ordinal oder a bitweise Kombination eines oder mehrerer der folgenden Werte: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth , IgnoreKanaType und StringSort.options is either the enumeration value Ordinal, or a bitwise combination of one or more of the following values: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth, IgnoreKanaType, and StringSort.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero string1 ist kleiner als string2.string1 is less than string2.
größer als 0 (Null)greater than zero string1 ist größer als string2.string1 is greater than string2.

Ausnahmen

options enthält einen ungültigen CompareOptions-Wert.options contains an invalid CompareOptions value.

Beispiele

Im folgenden Beispiel werden zwei Zeichen folgen mit CompareOptions unterschiedlichen Einstellungen verglichen.The following example compares two strings using different CompareOptions settings.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "My Uncle Bill's clients";
   String^ myStr2 = "My uncle bills clients";
   
   // Creates a CompareInfo which uses the InvariantCulture.
   CompareInfo^ myComp = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myComp.
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1, myStr2 );
   Console::WriteLine( "   With no CompareOptions            : {0}", myComp->Compare( myStr1, myStr2 ) );
   Console::WriteLine( "   With None                         : {0}", myComp->Compare( myStr1, myStr2, CompareOptions::None ) );
   Console::WriteLine( "   With Ordinal                      : {0}", myComp->Compare( myStr1, myStr2, CompareOptions::Ordinal ) );
   Console::WriteLine( "   With StringSort                   : {0}", myComp->Compare( myStr1, myStr2, CompareOptions::StringSort ) );
   Console::WriteLine( "   With IgnoreCase                   : {0}", myComp->Compare( myStr1, myStr2, CompareOptions::IgnoreCase ) );
   Console::WriteLine( "   With IgnoreSymbols                : {0}", myComp->Compare( myStr1, myStr2, CompareOptions::IgnoreSymbols ) );
   Console::WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp->Compare( myStr1, myStr2, static_cast<CompareOptions>(CompareOptions::IgnoreCase | CompareOptions::IgnoreSymbols) ) );
}

/*
This code produces the following output.

Comparing "My Uncle Bill's clients" and "My uncle bills clients"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -32
   With StringSort                   : -1
   With IgnoreCase                   : 1
   With IgnoreSymbols                : 1
   With IgnoreCase and IgnoreSymbols : 0
*/
using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "My Uncle Bill's clients";
      String myStr2 = "My uncle bills clients";

      // Creates a CompareInfo that uses the InvariantCulture.
      CompareInfo myComp = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myComp.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1, myStr2 );
      Console.WriteLine( "   With no CompareOptions            : {0}", myComp.Compare( myStr1, myStr2 ) );
      Console.WriteLine( "   With None                         : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.None ) );
      Console.WriteLine( "   With Ordinal                      : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.Ordinal ) );
      Console.WriteLine( "   With StringSort                   : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.StringSort ) );
      Console.WriteLine( "   With IgnoreCase                   : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.IgnoreCase ) );
      Console.WriteLine( "   With IgnoreSymbols                : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.IgnoreSymbols ) );
      Console.WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare( myStr1, myStr2, CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols ) );

   }

}


/*
This code produces the following output.

Comparing "My Uncle Bill's clients" and "My uncle bills clients"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -32
   With StringSort                   : -1
   With IgnoreCase                   : 1
   With IgnoreSymbols                : 1
   With IgnoreCase and IgnoreSymbols : 0

*/
Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "My Uncle Bill's clients"
      Dim myStr2 As [String] = "My uncle bills clients"

      ' Creates a CompareInfo that uses the InvariantCulture.
      Dim myComp As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myComp.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1, myStr2)
      Console.WriteLine("   With no CompareOptions            : {0}", myComp.Compare(myStr1, myStr2))
      Console.WriteLine("   With None                         : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.None))
      Console.WriteLine("   With Ordinal                      : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.Ordinal))
      Console.WriteLine("   With StringSort                   : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.StringSort))
      Console.WriteLine("   With IgnoreCase                   : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.IgnoreCase))
      Console.WriteLine("   With IgnoreSymbols                : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.IgnoreSymbols))
      Console.WriteLine("   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare(myStr1, myStr2, CompareOptions.IgnoreCase Or CompareOptions.IgnoreSymbols))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "My Uncle Bill's clients" and "My uncle bills clients"
'   With no CompareOptions            : 1
'   With None                         : 1
'   With Ordinal                      : -32
'   With StringSort                   : -1
'   With IgnoreCase                   : 1
'   With IgnoreSymbols                : 1
'   With IgnoreCase and IgnoreSymbols : 0

Im folgenden Beispiel wird das Aufrufen der Compare-Methode veranschaulicht.The following example demonstrates calling the Compare method.

using namespace System;
using namespace System::Text;
using namespace System::Globalization;

int main()
{
    array<String^>^ sign = gcnew array<String^> { "<", "=", ">" };

    // The code below demonstrates how strings compare
    // differently for different cultures.
    String^ s1 = "Coté"; 
    String^ s2 = "coté";
    String^ s3 = "côte";

    // Set sort order of strings for French in France.
    CompareInfo^ ci = (gcnew CultureInfo("fr-FR"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using fr-FR Compare of Coté = coté.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s1, s2, sign[ci->Compare(s1, s2, CompareOptions::IgnoreCase) + 1]);

    // Display the result using fr-FR Compare of coté > côte.
    Console::WriteLine(L"fr-FR Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3, CompareOptions::None) + 1]);

    // Set sort order of strings for Japanese as spoken in Japan.
    ci = (gcnew CultureInfo("ja-JP"))->CompareInfo;
    Console::WriteLine(L"The LCID for {0} is {1}.", ci->Name, ci->LCID);

    // Display the result using ja-JP Compare of coté < côte.
    Console::WriteLine("ja-JP Compare: {0} {2} {1}",
        s2, s3, sign[ci->Compare(s2, s3) + 1]);
}

// This code produces the following output.
//
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
using System;
using System.Text;
using System.Globalization;

public sealed class App
{
    static void Main(string[] args)
    {
        String[] sign = new String[] { "<", "=", ">" };

        // The code below demonstrates how strings compare 
        // differently for different cultures.
        String s1 = "Coté", s2 = "coté", s3 = "côte";

        // Set sort order of strings for French in France.
        CompareInfo ci = new CultureInfo("fr-FR").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);
      
        // Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s1, s2, sign[ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1]);

        // Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3, CompareOptions.None) + 1]);

        // Set sort order of strings for Japanese as spoken in Japan.
        ci = new CultureInfo("ja-JP").CompareInfo;
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID);

        // Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}",
            s2, s3, sign[ci.Compare(s2, s3) + 1]);
    }
}

// This code produces the following output.
// 
// The LCID for fr-FR is 1036.
// fr-FR Compare: Coté = coté
// fr-FR Compare: coté > côte
// The LCID for ja-JP is 1041.
// ja-JP Compare: coté < côte
Imports System
Imports System.Text
Imports System.Globalization

NotInheritable Public Class App
    Shared Sub Main(ByVal args() As String) 
        Dim sign() As String = {"<", "=", ">"}
        
        ' The code below demonstrates how strings compare 
        ' differently for different cultures.
        Dim s1 As String = "Coté"
        Dim s2 As String = "coté"
        Dim s3 As String = "côte"
        
        ' Set sort order of strings for French in France.
        Dim ci As CompareInfo = New CultureInfo("fr-FR").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using fr-FR Compare of Coté = coté.  	
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s1, s2, sign((ci.Compare(s1, s2, CompareOptions.IgnoreCase) + 1)))
        
        ' Display the result using fr-FR Compare of coté > côte.
        Console.WriteLine("fr-FR Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3, CompareOptions.None) + 1)))
        
        ' Set sort order of strings for Japanese as spoken in Japan.
        ci = New CultureInfo("ja-JP").CompareInfo
        Console.WriteLine("The LCID for {0} is {1}.", ci.Name, ci.LCID)
        
        ' Display the result using ja-JP Compare of coté < côte. 
        Console.WriteLine("ja-JP Compare: {0} {2} {1}", _
                          s2, s3, sign((ci.Compare(s2, s3) + 1)))
    End Sub 'Main
End Class 'App

' This code produces the following output.
' 
' The LCID for fr-FR is 1036.
' fr-FR Compare: Coté = coté
' fr-FR Compare: coté > côte
' The LCID for ja-JP is 1041.
' ja-JP Compare: coté < côte

Hinweise

Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden aufrufen, die einen Parameter vom CompareOptions Typ aufweisen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should call string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen, d. h. Zeichen, die bei der Durchführung eines linguistischen oder kulturabhängigen Vergleichs nicht berücksichtigt werden.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Die Compare(String, String, CompareOptions) -Methode berücksichtigt solche Zeichen nicht, wenn Sie einen Kultur abhängigen Vergleich durchführt.The Compare(String, String, CompareOptions) method does not consider such characters when it performs a culture-sensitive comparison. Um Ignorable-Zeichen im Vergleich zu erkennen, geben Sie den Ordinal Wert OrdinalIgnoreCase oder für options den-Parameter an.To recognize ignorable characters in your comparison, supply a value of Ordinal or OrdinalIgnoreCase for the options parameter.

Siehe auch

Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32) Compare(String, Int32, String, Int32)

Vergleicht den Endabschnitt einer Zeichenfolge mit dem Endabschnitt einer anderen Zeichenfolge.Compares the end section of a string with the end section of another string.

public:
 virtual int Compare(System::String ^ string1, int offset1, System::String ^ string2, int offset2);
public virtual int Compare (string string1, int offset1, string string2, int offset2);
abstract member Compare : string * int * string * int -> int
override this.Compare : string * int * string * int -> int
Public Overridable Function Compare (string1 As String, offset1 As Integer, string2 As String, offset2 As Integer) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

offset1
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string1, an dem der Vergleich beginnen soll.The zero-based index of the character in string1 at which to start comparing.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

offset2
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string2, an dem der Vergleich beginnen soll.The zero-based index of the character in string2 at which to start comparing.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero Der angegebene Abschnitt von string1 ist kleiner als der angegebene Abschnitt von string2.The specified section of string1 is less than the specified section of string2.
größer als 0 (Null)greater than zero Der angegebene Abschnitt von string1 ist größer als der angegebene Abschnitt von string2.The specified section of string1 is greater than the specified section of string2.

Ausnahmen

offset1 oder offset2 ist kleiner als 0.offset1 or offset2 is less than zero.

- oder --or-

offset1 ist größer oder gleich der Anzahl von Zeichen in string1.offset1 is greater than or equal to the number of characters in string1.

- oder --or-

offset2 ist größer oder gleich der Anzahl von Zeichen in string2.offset2 is greater than or equal to the number of characters in string2.

Beispiele

Im folgenden Beispiel werden Teile von zwei Zeichen folgen mithilfe der CompareInfo verschiedenen-Objekte verglichen:The following example compares portions of two strings using the different CompareInfo objects:

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "calle";
   String^ myStr2 = "calor";
   
   // Uses GetCompareInfo to create the CompareInfo that 
   // uses the S"es-ES" culture with international sort.
   CompareInfo^ myCompIntl = CompareInfo::GetCompareInfo( "es-ES" );
   
   // Uses GetCompareInfo to create the CompareInfo that 
   // uses the S"es-ES" culture with traditional sort.
   CompareInfo^ myCompTrad = CompareInfo::GetCompareInfo( 0x040A );
   
   // Uses the CompareInfo property of the InvariantCulture.
   CompareInfo^ myCompInva = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myCompIntl.
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1->Substring( 2 ), myStr2->Substring( 2 ) );
   Console::WriteLine( "   With myCompIntl::Compare: {0}", myCompIntl->Compare( myStr1, 2, myStr2, 2 ) );
   Console::WriteLine( "   With myCompTrad::Compare: {0}", myCompTrad->Compare( myStr1, 2, myStr2, 2 ) );
   Console::WriteLine( "   With myCompInva::Compare: {0}", myCompInva->Compare( myStr1, 2, myStr2, 2 ) );
}

/*
This code produces the following output.

Comparing "lle" and "lor"
   With myCompIntl::Compare: -1
   With myCompTrad::Compare: 1
   With myCompInva::Compare: -1
*/
using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "calle";
      String myStr2 = "calor";

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      CompareInfo myCompIntl = CompareInfo.GetCompareInfo( "es-ES" );
      
      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      CompareInfo myCompTrad = CompareInfo.GetCompareInfo( 0x040A );

      // Uses the CompareInfo property of the InvariantCulture.
      CompareInfo myCompInva = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myCompIntl.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 2 ), myStr2.Substring( 2 ) );
      Console.WriteLine( "   With myCompIntl.Compare: {0}", myCompIntl.Compare( myStr1, 2, myStr2, 2 ) );
      Console.WriteLine( "   With myCompTrad.Compare: {0}", myCompTrad.Compare( myStr1, 2, myStr2, 2 ) );
      Console.WriteLine( "   With myCompInva.Compare: {0}", myCompInva.Compare( myStr1, 2, myStr2, 2 ) );

   }

}


/*
This code produces the following output.

Comparing "lle" and "lor"
   With myCompIntl.Compare: -1
   With myCompTrad.Compare: 1
   With myCompInva.Compare: -1

*/
Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "calle"
      Dim myStr2 As [String] = "calor"

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      Dim myCompIntl As CompareInfo = CompareInfo.GetCompareInfo("es-ES")

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      Dim myCompTrad As CompareInfo = CompareInfo.GetCompareInfo(&H40A)

      ' Uses the CompareInfo property of the InvariantCulture.
      Dim myCompInva As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myCompIntl.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1.Substring(2), myStr2.Substring(2))
      Console.WriteLine("   With myCompIntl.Compare: {0}", myCompIntl.Compare(myStr1, 2, myStr2, 2))
      Console.WriteLine("   With myCompTrad.Compare: {0}", myCompTrad.Compare(myStr1, 2, myStr2, 2))
      Console.WriteLine("   With myCompInva.Compare: {0}", myCompInva.Compare(myStr1, 2, myStr2, 2))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "lle" and "lor"
'   With myCompIntl.Compare: -1
'   With myCompTrad.Compare: 1
'   With myCompInva.Compare: -1

Hinweise

Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden aufrufen, die einen Parameter vom CompareOptions Typ aufweisen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should call string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen.Character sets include ignorable characters. Die Compare(String, Int32, String, Int32) -Methode berücksichtigt diese Zeichen nicht, wenn Sie einen linguistischen oder Kultur abhängigen Vergleich durchführt.The Compare(String, Int32, String, Int32) method does not consider these characters when it performs a linguistic or culture-sensitive comparison. Um Ignorable-Zeichen im Vergleich zu erkennen, müssen Compare(String, Int32, String, Int32, CompareOptions) Sie die-Methode aufrufen und Ordinal den OrdinalIgnoreCase Wert oder options für den-Parameter angeben.To recognize ignorable characters in your comparison, call the Compare(String, Int32, String, Int32, CompareOptions) method and supply a value of Ordinal or OrdinalIgnoreCase for the options parameter.

Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions) Compare(String, Int32, String, Int32, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts den Endabschnitt einer Zeichenfolge mit dem Endabschnitt einer anderen Zeichenfolge.Compares the end section of a string with the end section of another string using the specified CompareOptions value.

public:
 virtual int Compare(System::String ^ string1, int offset1, System::String ^ string2, int offset2, System::Globalization::CompareOptions options);
public virtual int Compare (string string1, int offset1, string string2, int offset2, System.Globalization.CompareOptions options);
abstract member Compare : string * int * string * int * System.Globalization.CompareOptions -> int
override this.Compare : string * int * string * int * System.Globalization.CompareOptions -> int
Public Overridable Function Compare (string1 As String, offset1 As Integer, string2 As String, offset2 As Integer, options As CompareOptions) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

offset1
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string1, an dem der Vergleich beginnen soll.The zero-based index of the character in string1 at which to start comparing.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

offset2
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string2, an dem der Vergleich beginnen soll.The zero-based index of the character in string2 at which to start comparing.

options
CompareOptions CompareOptions CompareOptions CompareOptions

Ein Wert, der definiert, wie string1 und string2 verglichen werden sollen.A value that defines how string1 and string2 should be compared. options ist entweder der allein verwendete Enumerationswert Ordinal oder a bitweise Kombination eines oder mehrerer der folgenden Werte: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth , IgnoreKanaType und StringSort.options is either the enumeration value Ordinal, or a bitwise combination of one or more of the following values: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth, IgnoreKanaType, and StringSort.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero Der angegebene Abschnitt von string1 ist kleiner als der angegebene Abschnitt von string2.The specified section of string1 is less than the specified section of string2.
größer als 0 (Null)greater than zero Der angegebene Abschnitt von string1 ist größer als der angegebene Abschnitt von string2.The specified section of string1 is greater than the specified section of string2.

Ausnahmen

offset1 oder offset2 ist kleiner als 0.offset1 or offset2 is less than zero.

- oder --or-

offset1 ist größer oder gleich der Anzahl von Zeichen in string1.offset1 is greater than or equal to the number of characters in string1.

- oder --or-

offset2 ist größer oder gleich der Anzahl von Zeichen in string2.offset2 is greater than or equal to the number of characters in string2.

options enthält einen ungültigen CompareOptions-Wert.options contains an invalid CompareOptions value.

Beispiele

Im folgenden Beispiel werden Teile von zwei Zeichen folgen mit CompareOptions unterschiedlichen Einstellungen verglichen.The following example compares portions of two strings using different CompareOptions settings.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "My Uncle Bill's clients";
   String^ myStr2 = "My uncle bills clients";
   
   // Creates a CompareInfo that uses the InvariantCulture.
   CompareInfo^ myComp = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myComp.
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1->Substring( 10 ), myStr2->Substring( 10 ) );
   Console::WriteLine( "   With no CompareOptions            : {0}", myComp->Compare( myStr1, 10, myStr2, 10 ) );
   Console::WriteLine( "   With None                         : {0}", myComp->Compare( myStr1, 10, myStr2, 10, CompareOptions::None ) );
   Console::WriteLine( "   With Ordinal                      : {0}", myComp->Compare( myStr1, 10, myStr2, 10, CompareOptions::Ordinal ) );
   Console::WriteLine( "   With StringSort                   : {0}", myComp->Compare( myStr1, 10, myStr2, 10, CompareOptions::StringSort ) );
   Console::WriteLine( "   With IgnoreCase                   : {0}", myComp->Compare( myStr1, 10, myStr2, 10, CompareOptions::IgnoreCase ) );
   Console::WriteLine( "   With IgnoreSymbols                : {0}", myComp->Compare( myStr1, 10, myStr2, 10, CompareOptions::IgnoreSymbols ) );
   Console::WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp->Compare( myStr1, 10, myStr2, 10, static_cast<CompareOptions>(CompareOptions::IgnoreCase | CompareOptions::IgnoreSymbols) ) );
}

/*
This code produces the following output.

Comparing "ill's clients" and "ills clients"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -76
   With StringSort                   : -1
   With IgnoreCase                   : 1
   With IgnoreSymbols                : 0
   With IgnoreCase and IgnoreSymbols : 0
*/
using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "My Uncle Bill's clients";
      String myStr2 = "My uncle bills clients";

      // Creates a CompareInfo that uses the InvariantCulture.
      CompareInfo myComp = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myComp.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 10 ), myStr2.Substring( 10 ) );
      Console.WriteLine( "   With no CompareOptions            : {0}", myComp.Compare( myStr1, 10, myStr2, 10 ) );
      Console.WriteLine( "   With None                         : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.None ) );
      Console.WriteLine( "   With Ordinal                      : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.Ordinal ) );
      Console.WriteLine( "   With StringSort                   : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.StringSort ) );
      Console.WriteLine( "   With IgnoreCase                   : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.IgnoreCase ) );
      Console.WriteLine( "   With IgnoreSymbols                : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.IgnoreSymbols ) );
      Console.WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare( myStr1, 10, myStr2, 10, CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols ) );

   }

}


/*
This code produces the following output.

Comparing "ill's clients" and "ills clients"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -76
   With StringSort                   : -1
   With IgnoreCase                   : 1
   With IgnoreSymbols                : 0
   With IgnoreCase and IgnoreSymbols : 0

*/
Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "My Uncle Bill's clients"
      Dim myStr2 As [String] = "My uncle bills clients"

      ' Creates a CompareInfo that uses the InvariantCulture.
      Dim myComp As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myComp.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1.Substring(10), myStr2.Substring(10))
      Console.WriteLine("   With no CompareOptions            : {0}", myComp.Compare(myStr1, 10, myStr2, 10))
      Console.WriteLine("   With None                         : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.None))
      Console.WriteLine("   With Ordinal                      : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.Ordinal))
      Console.WriteLine("   With StringSort                   : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.StringSort))
      Console.WriteLine("   With IgnoreCase                   : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.IgnoreCase))
      Console.WriteLine("   With IgnoreSymbols                : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.IgnoreSymbols))
      Console.WriteLine("   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare(myStr1, 10, myStr2, 10, CompareOptions.IgnoreCase Or CompareOptions.IgnoreSymbols))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "ill's clients" and "ills clients"
'   With no CompareOptions            : 1
'   With None                         : 1
'   With Ordinal                      : -76
'   With StringSort                   : -1
'   With IgnoreCase                   : 1
'   With IgnoreSymbols                : 0
'   With IgnoreCase and IgnoreSymbols : 0

Hinweise

Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden aufrufen, die einen Parameter vom CompareOptions Typ aufweisen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should call string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen, d. h. Zeichen, die bei der Durchführung eines linguistischen oder kulturabhängigen Vergleichs nicht berücksichtigt werden.Character sets include ignorable characters, which are characters that are not considered when performing a linguistic or culture-sensitive comparison. Bei Compare(String, Int32, String, Int32, CompareOptions) der Durchführung eines Kultur abhängigen Vergleichs werden solche Zeichen bei der-Methode nicht berücksichtigt.The Compare(String, Int32, String, Int32, CompareOptions) method does not consider such characters when performing a culture-sensitive comparison. Um Ignorable-Zeichen im Vergleich zu erkennen, geben Sie den Ordinal Wert OrdinalIgnoreCase oder für options den-Parameter an.To recognize ignorable characters in your comparison, supply a value of Ordinal or OrdinalIgnoreCase for the options parameter.

Siehe auch

Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32) Compare(String, Int32, Int32, String, Int32, Int32)

Vergleicht einen Abschnitt einer Zeichenfolge mit einem Abschnitt einer anderen Zeichenfolge.Compares a section of one string with a section of another string.

public:
 virtual int Compare(System::String ^ string1, int offset1, int length1, System::String ^ string2, int offset2, int length2);
public virtual int Compare (string string1, int offset1, int length1, string string2, int offset2, int length2);
abstract member Compare : string * int * int * string * int * int -> int
override this.Compare : string * int * int * string * int * int -> int
Public Overridable Function Compare (string1 As String, offset1 As Integer, length1 As Integer, string2 As String, offset2 As Integer, length2 As Integer) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

offset1
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string1, an dem der Vergleich beginnen soll.The zero-based index of the character in string1 at which to start comparing.

length1
Int32 Int32 Int32 Int32

Die Anzahl der zu vergleichenden aufeinander folgenden Zeichen in string1.The number of consecutive characters in string1 to compare.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

offset2
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string2, an dem der Vergleich beginnen soll.The zero-based index of the character in string2 at which to start comparing.

length2
Int32 Int32 Int32 Int32

Die Anzahl der zu vergleichenden aufeinander folgenden Zeichen in string2.The number of consecutive characters in string2 to compare.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero Der angegebene Abschnitt von string1 ist kleiner als der angegebene Abschnitt von string2.The specified section of string1 is less than the specified section of string2.
größer als 0 (Null)greater than zero Der angegebene Abschnitt von string1 ist größer als der angegebene Abschnitt von string2.The specified section of string1 is greater than the specified section of string2.

Ausnahmen

offset1, length1, offset2 oder length2 ist kleiner als 0 (Null).offset1 or length1 or offset2 or length2 is less than zero.

- oder --or-

offset1 ist größer oder gleich der Anzahl von Zeichen in string1.offset1 is greater than or equal to the number of characters in string1.

- oder --or-

offset2 ist größer oder gleich der Anzahl von Zeichen in string2.offset2 is greater than or equal to the number of characters in string2.

- oder --or-

length1 ist größer als die Anzahl der Zeichen ab offset1 bis zum Ende von string1.length1 is greater than the number of characters from offset1 to the end of string1.

- oder --or-

length2 ist größer als die Anzahl der Zeichen ab offset2 bis zum Ende von string2.length2 is greater than the number of characters from offset2 to the end of string2.

Beispiele

Im folgenden Beispiel werden Teile von zwei Zeichen folgen mithilfe der CompareInfo verschiedenen-Objekte verglichen:The following example compares portions of two strings using the different CompareInfo objects:

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "calle";
   String^ myStr2 = "calor";
   
   // Uses GetCompareInfo to create the CompareInfo that uses the S"es-ES" culture with international sort.
   CompareInfo^ myCompIntl = CompareInfo::GetCompareInfo( "es-ES" );
   
   // Uses GetCompareInfo to create the CompareInfo that uses the S"es-ES" culture with traditional sort.
   CompareInfo^ myCompTrad = CompareInfo::GetCompareInfo( 0x040A );
   
   // Uses the CompareInfo property of the InvariantCulture.
   CompareInfo^ myCompInva = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myCompIntl.
   Console::WriteLine( "Comparing \" {0}\" and \" {1}\"", myStr1->Substring( 2, 2 ), myStr2->Substring( 2, 2 ) );
   Console::WriteLine( "   With myCompIntl->Compare: {0}", myCompIntl->Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
   Console::WriteLine( "   With myCompTrad->Compare: {0}", myCompTrad->Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
   Console::WriteLine( "   With myCompInva->Compare: {0}", myCompInva->Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
}

/*
This code produces the following output.

Comparing S"ll" and S"lo"
With myCompIntl.Compare: -1
With myCompTrad.Compare: 1
With myCompInva.Compare: -1

*/
using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "calle";
      String myStr2 = "calor";

      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      CompareInfo myCompIntl = CompareInfo.GetCompareInfo( "es-ES" );
      
      // Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      CompareInfo myCompTrad = CompareInfo.GetCompareInfo( 0x040A );

      // Uses the CompareInfo property of the InvariantCulture.
      CompareInfo myCompInva = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myCompIntl.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 2, 2 ), myStr2.Substring( 2, 2 ) );
      Console.WriteLine( "   With myCompIntl.Compare: {0}", myCompIntl.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompTrad.Compare: {0}", myCompTrad.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );
      Console.WriteLine( "   With myCompInva.Compare: {0}", myCompInva.Compare( myStr1, 2, 2, myStr2, 2, 2 ) );

   }

}


/*
This code produces the following output.

Comparing "ll" and "lo"
   With myCompIntl.Compare: -1
   With myCompTrad.Compare: 1
   With myCompInva.Compare: -1

*/
Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "calle"
      Dim myStr2 As [String] = "calor"

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with international sort.
      Dim myCompIntl As CompareInfo = CompareInfo.GetCompareInfo("es-ES")

      ' Uses GetCompareInfo to create the CompareInfo that uses the "es-ES" culture with traditional sort.
      Dim myCompTrad As CompareInfo = CompareInfo.GetCompareInfo(&H40A)

      ' Uses the CompareInfo property of the InvariantCulture.
      Dim myCompInva As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myCompIntl.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1.Substring(2, 2), myStr2.Substring(2, 2))
      Console.WriteLine("   With myCompIntl.Compare: {0}", myCompIntl.Compare(myStr1, 2, 2, myStr2, 2, 2))
      Console.WriteLine("   With myCompTrad.Compare: {0}", myCompTrad.Compare(myStr1, 2, 2, myStr2, 2, 2))
      Console.WriteLine("   With myCompInva.Compare: {0}", myCompInva.Compare(myStr1, 2, 2, myStr2, 2, 2))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "ll" and "lo"
'   With myCompIntl.Compare: -1
'   With myCompTrad.Compare: 1
'   With myCompInva.Compare: -1

Hinweise

Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden verwenden, die über einen Parameter CompareOptions vom Typ verfügen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should use string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen.Character sets include ignorable characters. Die Compare(String, Int32, Int32, String, Int32, Int32) -Methode berücksichtigt diese Zeichen nicht, wenn Sie einen linguistischen oder Kultur abhängigen Vergleich durchführt.The Compare(String, Int32, Int32, String, Int32, Int32) method does not consider these characters when it performs a linguistic or culture-sensitive comparison. Um Ignorable-Zeichen im Vergleich zu erkennen, müssen Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Sie die-Methode aufrufen und Ordinal den OrdinalIgnoreCase Wert oder options für den-Parameter angeben.To recognize ignorable characters in your comparison, call the Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) method and supply a value of Ordinal or OrdinalIgnoreCase for the options parameter.

Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions)

Vergleicht mithilfe des angegebenen CompareOptions-Werts einen Abschnitt einer Zeichenfolge mit einem Abschnitt einer anderen Zeichenfolge.Compares a section of one string with a section of another string using the specified CompareOptions value.

public:
 virtual int Compare(System::String ^ string1, int offset1, int length1, System::String ^ string2, int offset2, int length2, System::Globalization::CompareOptions options);
public virtual int Compare (string string1, int offset1, int length1, string string2, int offset2, int length2, System.Globalization.CompareOptions options);
abstract member Compare : string * int * int * string * int * int * System.Globalization.CompareOptions -> int
override this.Compare : string * int * int * string * int * int * System.Globalization.CompareOptions -> int
Public Overridable Function Compare (string1 As String, offset1 As Integer, length1 As Integer, string2 As String, offset2 As Integer, length2 As Integer, options As CompareOptions) As Integer

Parameter

string1
String String String String

Die erste zu vergleichende Zeichenfolge.The first string to compare.

offset1
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string1, an dem der Vergleich beginnen soll.The zero-based index of the character in string1 at which to start comparing.

length1
Int32 Int32 Int32 Int32

Die Anzahl der zu vergleichenden aufeinander folgenden Zeichen in string1.The number of consecutive characters in string1 to compare.

string2
String String String String

Die zweite zu vergleichende Zeichenfolge.The second string to compare.

offset2
Int32 Int32 Int32 Int32

Der nullbasierte Index des Zeichens in string2, an dem der Vergleich beginnen soll.The zero-based index of the character in string2 at which to start comparing.

length2
Int32 Int32 Int32 Int32

Die Anzahl der zu vergleichenden aufeinander folgenden Zeichen in string2.The number of consecutive characters in string2 to compare.

options
CompareOptions CompareOptions CompareOptions CompareOptions

Ein Wert, der definiert, wie string1 und string2 verglichen werden sollen.A value that defines how string1 and string2 should be compared. options ist entweder der allein verwendete Enumerationswert Ordinal oder a bitweise Kombination eines oder mehrerer der folgenden Werte: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth , IgnoreKanaType und StringSort.options is either the enumeration value Ordinal, or a bitwise combination of one or more of the following values: IgnoreCase, IgnoreSymbols, IgnoreNonSpace, IgnoreWidth, IgnoreKanaType, and StringSort.

Gibt zurück

Eine 32-Bit-Ganzzahl mit Vorzeichen, die die lexikalische Beziehung der beiden verglichenen Elemente angibt.A 32-bit signed integer indicating the lexical relationship between the two comparands.

WertValue BedingungCondition
Nullzero Die beiden Zeichenfolgen sind gleich.The two strings are equal.
kleiner als 0 (Null)less than zero Der angegebene Abschnitt von string1 ist kleiner als der angegebene Abschnitt von string2.The specified section of string1 is less than the specified section of string2.
größer als 0 (Null)greater than zero Der angegebene Abschnitt von string1 ist größer als der angegebene Abschnitt von string2.The specified section of string1 is greater than the specified section of string2.

Ausnahmen

offset1, length1, offset2 oder length2 ist kleiner als 0 (Null).offset1 or length1 or offset2 or length2 is less than zero.

- oder --or-

offset1 ist größer oder gleich der Anzahl von Zeichen in string1.offset1 is greater than or equal to the number of characters in string1.

- oder --or-

offset2 ist größer oder gleich der Anzahl von Zeichen in string2.offset2 is greater than or equal to the number of characters in string2.

- oder --or-

length1 ist größer als die Anzahl der Zeichen ab offset1 bis zum Ende von string1.length1 is greater than the number of characters from offset1 to the end of string1.

- oder --or-

length2 ist größer als die Anzahl der Zeichen ab offset2 bis zum Ende von string2.length2 is greater than the number of characters from offset2 to the end of string2.

options enthält einen ungültigen CompareOptions-Wert.options contains an invalid CompareOptions value.

Beispiele

Im folgenden Beispiel werden Teile von zwei Zeichen folgen mit CompareOptions unterschiedlichen Einstellungen verglichen.The following example compares portions of two strings using different CompareOptions settings.

using namespace System;
using namespace System::Globalization;
int main()
{
   
   // Defines the strings to compare.
   String^ myStr1 = "My Uncle Bill's clients";
   String^ myStr2 = "My uncle bills clients";
   
   // Creates a CompareInfo that uses the InvariantCulture.
   CompareInfo^ myComp = CultureInfo::InvariantCulture->CompareInfo;
   
   // Compares two strings using myComp.
   Console::WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1->Substring( 3, 10 ), myStr2->Substring( 3, 10 ) );
   Console::WriteLine( "   With no CompareOptions            : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10 ) );
   Console::WriteLine( "   With None                         : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions::None ) );
   Console::WriteLine( "   With Ordinal                      : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions::Ordinal ) );
   Console::WriteLine( "   With StringSort                   : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions::StringSort ) );
   Console::WriteLine( "   With IgnoreCase                   : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions::IgnoreCase ) );
   Console::WriteLine( "   With IgnoreSymbols                : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions::IgnoreSymbols ) );
   Console::WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp->Compare( myStr1, 3, 10, myStr2, 3, 10, static_cast<CompareOptions>(CompareOptions::IgnoreCase | CompareOptions::IgnoreSymbols) ) );
}

/*
This code produces the following output.

Comparing "Uncle Bill" and "uncle bill"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -32
   With StringSort                   : 1
   With IgnoreCase                   : 0
   With IgnoreSymbols                : 1
   With IgnoreCase and IgnoreSymbols : 0

*/
using System;
using System.Globalization;

public class SamplesCompareInfo  {

   public static void Main()  {

      // Defines the strings to compare.
      String myStr1 = "My Uncle Bill's clients";
      String myStr2 = "My uncle bills clients";

      // Creates a CompareInfo that uses the InvariantCulture.
      CompareInfo myComp = CultureInfo.InvariantCulture.CompareInfo;

      // Compares two strings using myComp.
      Console.WriteLine( "Comparing \"{0}\" and \"{1}\"", myStr1.Substring( 3, 10 ), myStr2.Substring( 3, 10 ) );
      Console.WriteLine( "   With no CompareOptions            : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10 ) );
      Console.WriteLine( "   With None                         : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.None ) );
      Console.WriteLine( "   With Ordinal                      : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.Ordinal ) );
      Console.WriteLine( "   With StringSort                   : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.StringSort ) );
      Console.WriteLine( "   With IgnoreCase                   : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase ) );
      Console.WriteLine( "   With IgnoreSymbols                : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreSymbols ) );
      Console.WriteLine( "   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare( myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase | CompareOptions.IgnoreSymbols ) );

   }

}


/*
This code produces the following output.

Comparing "Uncle Bill" and "uncle bill"
   With no CompareOptions            : 1
   With None                         : 1
   With Ordinal                      : -32
   With StringSort                   : 1
   With IgnoreCase                   : 0
   With IgnoreSymbols                : 1
   With IgnoreCase and IgnoreSymbols : 0

*/
Imports System
Imports System.Globalization

Public Class SamplesCompareInfo

   Public Shared Sub Main()

      ' Defines the strings to compare.
      Dim myStr1 As [String] = "My Uncle Bill's clients"
      Dim myStr2 As [String] = "My uncle bills clients"

      ' Creates a CompareInfo that uses the InvariantCulture.
      Dim myComp As CompareInfo = CultureInfo.InvariantCulture.CompareInfo

      ' Compares two strings using myComp.
      Console.WriteLine("Comparing ""{0}"" and ""{1}""", myStr1.Substring(3, 10), myStr2.Substring(3, 10))
      Console.WriteLine("   With no CompareOptions            : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10))
      Console.WriteLine("   With None                         : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.None))
      Console.WriteLine("   With Ordinal                      : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.Ordinal))
      Console.WriteLine("   With StringSort                   : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.StringSort))
      Console.WriteLine("   With IgnoreCase                   : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase))
      Console.WriteLine("   With IgnoreSymbols                : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreSymbols))
      Console.WriteLine("   With IgnoreCase and IgnoreSymbols : {0}", myComp.Compare(myStr1, 3, 10, myStr2, 3, 10, CompareOptions.IgnoreCase Or CompareOptions.IgnoreSymbols))

   End Sub 'Main 

End Class 'SamplesCompareInfo


'This code produces the following output.
'
'Comparing "Uncle Bill" and "uncle bill"
'   With no CompareOptions            : 1
'   With None                         : 1
'   With Ordinal                      : -32
'   With StringSort                   : 1
'   With IgnoreCase                   : 0
'   With IgnoreSymbols                : 1
'   With IgnoreCase and IgnoreSymbols : 0

Hinweise

Wenn eine Sicherheits Entscheidung von einem Zeichen folgen Vergleich oder einer Fall Änderung abhängt, sollten Sie die InvariantCulture -Eigenschaft verwenden, um sicherzustellen, dass das Verhalten unabhängig von den Kultur Einstellungen des Betriebssystems konsistent ist.If a security decision depends on a string comparison or a case change, you should use the InvariantCulture property to ensure that the behavior is consistent regardless of the culture settings of the operating system.

Hinweis

Wenn möglich, sollten Sie Zeichen folgen Vergleichsmethoden aufrufen, die einen Parameter vom CompareOptions Typ aufweisen, um die Art des erwarteten Vergleichs anzugeben.When possible, you should call string comparison methods that have a parameter of type CompareOptions to specify the kind of comparison expected. Verwenden Sie als allgemeine Regel linguistische Optionen (unter Verwendung der aktuellen Kultur) zum Vergleichen von Zeichen folgen, die in der Ordinal Benutzer OrdinalIgnoreCase Oberfläche angezeigt werden, und geben Sie oder für Sicherheits Vergleiche an.As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify Ordinal or OrdinalIgnoreCase for security comparisons.

Hinweise für Aufrufer

Zeichensätze enthalten ignorierbare Zeichen.Character sets include ignorable characters. Die Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) -Methode berücksichtigt diese Zeichen nicht, wenn Sie einen Kultur abhängigen Vergleich durchführt.The Compare(String, Int32, Int32, String, Int32, Int32, CompareOptions) method does not consider these characters when it performs a culture-sensitive comparison. Um Ignorable-Zeichen im Vergleich zu erkennen, geben Sie den Ordinal Wert OrdinalIgnoreCase oder für options den-Parameter an.To recognize ignorable characters in your comparison, supply a value of Ordinal or OrdinalIgnoreCase for the options parameter.

Siehe auch

Gilt für: