String.CompareOrdinal String.CompareOrdinal String.CompareOrdinal String.CompareOrdinal Method

Definicja

Porównuje String dwa obiekty, oceniając wartości liczbowe odpowiednich Char obiektów w każdym ciągu.Compares two String objects by evaluating the numeric values of the corresponding Char objects in each string.

Przeciążenia

CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32)

Porównuje podciągi dwóch określonych String obiektów przez obliczenie wartości liczbowych odpowiednich Char obiektów w każdym podciągu.Compares substrings of two specified String objects by evaluating the numeric values of the corresponding Char objects in each substring.

CompareOrdinal(String, String) CompareOrdinal(String, String) CompareOrdinal(String, String) CompareOrdinal(String, String)

Porównuje dwa String określone obiekty przez ocenę wartości liczbowych odpowiednich Char obiektów w każdym ciągu.Compares two specified String objects by evaluating the numeric values of the corresponding Char objects in each string.

CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32) CompareOrdinal(String, Int32, String, Int32, Int32)

Porównuje podciągi dwóch określonych String obiektów przez obliczenie wartości liczbowych odpowiednich Char obiektów w każdym podciągu.Compares substrings of two specified String objects by evaluating the numeric values of the corresponding Char objects in each substring.

public:
 static int CompareOrdinal(System::String ^ strA, int indexA, System::String ^ strB, int indexB, int length);
public static int CompareOrdinal (string strA, int indexA, string strB, int indexB, int length);
static member CompareOrdinal : string * int * string * int * int -> int
Public Shared Function CompareOrdinal (strA As String, indexA As Integer, strB As String, indexB As Integer, length As Integer) As Integer

Parametry

strA
String String String String

Pierwszy ciąg do użycia w porównaniu.The first string to use in the comparison.

indexA
Int32 Int32 Int32 Int32

Początkowy indeks podciągu w strA.The starting index of the substring in strA.

strB
String String String String

Drugi ciąg do użycia w porównaniu.The second string to use in the comparison.

indexB
Int32 Int32 Int32 Int32

Początkowy indeks podciągu w strB.The starting index of the substring in strB.

length
Int32 Int32 Int32 Int32

Maksymalna liczba znaków w podciągach do porównania.The maximum number of characters in the substrings to compare.

Zwraca

32-bitowa oznaczona liczba całkowita wskazująca relację leksykalną między dwoma argumentami porównania.A 32-bit signed integer that indicates the lexical relationship between the two comparands.

WartośćValue WarunekCondition
Mniej niż zeroLess than zero Podciąg w strA jest krótszy niż podciąg w strB.The substring in strA is less than the substring in strB.
ZeroZero Podciągi są równe lub length wynosi zero.The substrings are equal, or length is zero.
Większe od zeraGreater than zero Podciąg w strA jest większy niż podciąg w strB.The substring in strA is greater than the substring in strB.

Wyjątki

strAnie null jest i indexA jest większe niż strA.Length.strA is not null and indexA is greater than strA.Length.

—lub—-or- strBnie null jest i indexB jest większe niż strB.Length.strB is not null and indexB is greater than strB.Length.

—lub—-or- indexA, indexB, lub length jest wartością ujemną.indexA, indexB, or length is negative.

Przykłady

Poniższy przykład pokazuje, że CompareOrdinal i Compare używa różnych kolejności sortowania.This following example demonstrates that CompareOrdinal and Compare use different sort orders.

using namespace System;
using namespace System::Globalization;
int main()
{
   String^ strLow = "abc";
   String^ strCap = "ABC";
   String^ result = "equal to ";
   int x = 0;
   int pos = 1;
   
   // The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
   x = String::CompareOrdinal( strLow, pos, strCap, pos, 1 );
   if ( x < 0 )
      result = "less than";

   if ( x > 0 )
      result = "greater than";

   Console::WriteLine( "CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos );
   Console::WriteLine( "   '{0}' is {1} '{2}'", strLow[ pos ], result, strCap[ pos ] );

   // In U.S. English culture, 'b' is linguistically less than 'B'.
   x = String::Compare( strLow, pos, strCap, pos, 1, false, gcnew CultureInfo( "en-US" ) );
   if ( x < 0 )
      result = "less than";
   else
   if ( x > 0 )
      result = "greater than";

   Console::WriteLine( "Compare(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos );
   Console::WriteLine( "   '{0}' is {1} '{2}'", strLow[ pos ], result, strCap[ pos ] );
}
using System;
using System.Globalization;

class Test 
{
	public static void Main(String[] args) 
	{
	String strLow = "abc";
	String strCap = "ABC";
	String result = "equal to ";
	int x = 0;
	int pos = 1;

// The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
	x = String.CompareOrdinal(strLow, pos, strCap, pos, 1);
	if (x < 0) result = "less than";
	if (x > 0) result = "greater than";
	Console.WriteLine("CompareOrdinal(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
	Console.WriteLine("   '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);

// In U.S. English culture, 'b' is linguistically less than 'B'.
	x = String.Compare(strLow, pos, strCap, pos, 1, false, new CultureInfo("en-US"));
	if (x < 0) result = "less than";
	else if (x > 0) result = "greater than";
	Console.WriteLine("Compare(\"{0}\"[{2}], \"{1}\"[{2}]):", strLow, strCap, pos);
	Console.WriteLine("   '{0}' is {1} '{2}'", strLow[pos], result, strCap[pos]);
	}
}
Imports System.Globalization

Class Test
   
  Public Shared Sub Main(args() As [String])
      Dim strLow As [String] = "abc"
      Dim strCap As [String] = "ABC"
      Dim result As [String] = "equal to "
      Dim x As Integer = 0
      Dim pos As Integer = 1

' The Unicode codepoint for 'b' is greater than the codepoint for 'B'.      
      x = [String].CompareOrdinal(strLow, pos, strCap, pos, 1)
      If x < 0 Then
         result = "less than"
      End If
      If x > 0 Then
         result = "greater than"
      End If

' In U.S. English culture, 'b' is linguistically less than 'B'.
      Console.WriteLine("CompareOrdinal(""{0}"".Chars({2}), ""{1}"".Chars({2})):", strLow, strCap, pos)
      
      Console.WriteLine("   '{0}' is {1} '{2}'", strLow.Chars(pos), result, strCap.Chars(pos))
      
      x = [String].Compare(strLow, pos, strCap, pos, 1, False, New CultureInfo("en-US"))
      If x < 0 Then
         result = "less than"
      ElseIf x > 0 Then
         result = "greater than"
      End If
      Console.WriteLine("Compare(""{0}"".Chars({2}), ""{1}"".Chars({2})):", strLow, strCap, pos)
      Console.WriteLine("   '{0}' is {1} '{2}'", strLow.Chars(pos), result, strCap.Chars(pos))
   End Sub 'Main
End Class 'Test

Uwagi

Parametry indexA, indexB ilength nie mogą być ujemne.The indexA, indexB, and length parameters must be nonnegative.

strA Liczba porównywanych znaków to mniejsza długość mniejsza indexA, długość strB mniejsza indexBi length.The number of characters compared is the lesser of the length of strA less indexA, the length of strB less indexB, and length.

Ta metoda wykonuje porównanie z rozróżnianiem wielkości liter przy użyciu reguł sortowania porządkowego.This method performs a case-sensitive comparison using ordinal sort rules. Więcej informacji na temat wyrazów, ciągów i liczb porządkowych można znaleźć System.Globalization.CompareOptionsw temacie.For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Aby wykonać porównanie bez uwzględniania wielkości liter przy użyciu reguł sortowania porządkowego, Compare(String, Int32, String, Int32, Int32, StringComparison) Wywołaj metodę comparisonType z argumentem StringComparison.OrdinalIgnoreCaseustawionym na.To perform a case-insensitive comparison using ordinal sort rules, call the Compare(String, Int32, String, Int32, Int32, StringComparison) method with the comparisonType argument set to StringComparison.OrdinalIgnoreCase.

Ponieważ CompareOrdinal(String, String) jest strB nullmetodą statyczną i może być. strABecause CompareOrdinal(String, String) is a static method, strA and strB can be null. Jeśli obie wartości są null, metoda zwraca 0 (zero), co oznacza, że strA i strB są równe.If both values are null, the method returns 0 (zero), which indicates that strA and strB are equal. Jeśli jest nulltylko jedna z wartości, Metoda traktuje wartość inną niż null, aby była większa.If only one of the values is null, the method considers the non-null value to be greater.

Zobacz też

CompareOrdinal(String, String) CompareOrdinal(String, String) CompareOrdinal(String, String) CompareOrdinal(String, String)

Porównuje dwa String określone obiekty przez ocenę wartości liczbowych odpowiednich Char obiektów w każdym ciągu.Compares two specified String objects by evaluating the numeric values of the corresponding Char objects in each string.

public:
 static int CompareOrdinal(System::String ^ strA, System::String ^ strB);
public static int CompareOrdinal (string strA, string strB);
static member CompareOrdinal : string * string -> int
Public Shared Function CompareOrdinal (strA As String, strB As String) As Integer

Parametry

strA
String String String String

Pierwszy ciąg do porównania.The first string to compare.

strB
String String String String

Drugi ciąg do porównania.The second string to compare.

Zwraca

Liczba całkowita, która wskazuje leksykalną relację między dwoma comparands.An integer that indicates the lexical relationship between the two comparands.

WartośćValue WarunekCondition
Mniej niż zeroLess than zero strAjest mniejsze niż strB.strA is less than strB.
ZeroZero strAi strB są równe.strA and strB are equal.
Większe od zeraGreater than zero strAjest większa niż strB.strA is greater than strB.

Przykłady

Poniższy przykład wykonuje i porównywanie porządkowe dwóch ciągów, które różnią się tylko wielkością liter.The following example performs and ordinal comparison of two strings that only differ in case.

// Sample for String::CompareOrdinal(String, String)
using namespace System;
int main()
{
   String^ str1 = "ABCD";
   String^ str2 = "abcd";
   String^ str;
   int result;
   Console::WriteLine();
   Console::WriteLine( "Compare the numeric values of the corresponding Char objects in each string." );
   Console::WriteLine( "str1 = '{0}', str2 = '{1}'", str1, str2 );
   result = String::CompareOrdinal( str1, str2 );
   str = ((result < 0) ? "less than" : ((result > 0) ? (String^)"greater than" : "equal to"));
   Console::Write( "String '{0}' is ", str1 );
   Console::Write( "{0} ", str );
   Console::WriteLine( "String '{0}'.", str2 );
}

/*
This example produces the following results:

Compare the numeric values of the corresponding Char objects in each string.
str1 = 'ABCD', str2 = 'abcd'
String 'ABCD' is less than String 'abcd'.
*/
// Sample for String.CompareOrdinal(String, String)
using System;

class Sample {
    public static void Main() {
    String str1 = "ABCD";
    String str2 = "abcd";
    String str;
    int result;

    Console.WriteLine();
    Console.WriteLine("Compare the numeric values of the corresponding Char objects in each string.");
    Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2);
    result = String.CompareOrdinal(str1, str2);
    str = ((result < 0) ? "less than" : ((result > 0) ? "greater than" : "equal to"));
    Console.Write("String '{0}' is ", str1);
    Console.Write("{0} ", str);
    Console.WriteLine("String '{0}'.", str2);
    }
}
/*
This example produces the following results:

Compare the numeric values of the corresponding Char objects in each string.
str1 = 'ABCD', str2 = 'abcd'
String 'ABCD' is less than String 'abcd'.
*/
' Sample for String.CompareOrdinal(String, String)
Class Sample
   Public Shared Sub Main()
      Dim str1 As [String] = "ABCD"
      Dim str2 As [String] = "abcd"
      Dim str As [String]
      Dim result As Integer
      
      Console.WriteLine()
      Console.WriteLine("Compare the numeric values of the corresponding Char objects in each string.")
      Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2)
      result = [String].CompareOrdinal(str1, str2)
      str = IIf(result < 0, "less than", IIf(result > 0, "greater than", "equal to"))
      Console.Write("String '{0}' is ", str1)
      Console.Write("{0} ", str)
      Console.WriteLine("String '{0}'.", str2)
   End Sub 'Main
End Class 'Sample
'
'This example produces the following results:
'
'Compare the numeric values of the corresponding Char objects in each string.
'str1 = 'ABCD', str2 = 'abcd'
'String 'ABCD' is less than String 'abcd'.
'

Uwagi

Ta metoda wykonuje porównanie z rozróżnianiem wielkości liter przy użyciu reguł sortowania porządkowego.This method performs a case-sensitive comparison using ordinal sort rules. Więcej informacji na temat wyrazów, ciągów i liczb porządkowych można znaleźć System.Globalization.CompareOptionsw temacie.For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Aby wykonać porównanie bez uwzględniania wielkości liter przy użyciu reguł sortowania porządkowego, Compare(String, String, StringComparison) Wywołaj metodę comparisonType z argumentem StringComparison.OrdinalIgnoreCaseustawionym na.To perform a case-insensitive comparison using ordinal sort rules, call the Compare(String, String, StringComparison) method with the comparisonType argument set to StringComparison.OrdinalIgnoreCase.

Ponieważ CompareOrdinal(String, String) jest strB nullmetodą statyczną i może być. strABecause CompareOrdinal(String, String) is a static method, strA and strB can be null. Jeśli obie wartości są null, metoda zwraca 0 (zero), co oznacza, że strA i strB są równe.If both values are null, the method returns 0 (zero), which indicates that strA and strB are equal. Jeśli jest nulltylko jedna z wartości, Metoda traktuje wartość inną niż null, aby była większa.If only one of the values is null, the method considers the non-null value to be greater.

Zobacz też

Dotyczy