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

Definice

Porovná String dva objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.Compares two String objects by evaluating the numeric values of the corresponding Char objects in each string.

Přetížení

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

Porovná podřetězce dvou zadaných String objektů vyhodnocením číselných hodnot odpovídajících Char objektů v každém podřetězci.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)

Porovná dva String zadané objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.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)

Porovná podřetězce dvou zadaných String objektů vyhodnocením číselných hodnot odpovídajících Char objektů v každém podřetězci.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

První řetězec určený k použití v porovnání.The first string to use in the comparison.

indexA
Int32 Int32 Int32 Int32

Počáteční index podřetězce v strA.The starting index of the substring in strA.

strB
String String String String

Druhý řetězec určený k porovnání.The second string to use in the comparison.

indexB
Int32 Int32 Int32 Int32

Počáteční index podřetězce v strB.The starting index of the substring in strB.

length
Int32 Int32 Int32 Int32

Maximální počet znaků podřetězce, které se mají porovnat.The maximum number of characters in the substrings to compare.

Návraty

32bitové číslo se znaménkem, které označuje lexikální vztah mezi dvěma komparátory.A 32-bit signed integer that indicates the lexical relationship between the two comparands.

ValueValue PodmínkaCondition
Menší než nulaLess than zero Podřetězec v strA je menší než dílčí řetězec v strB.The substring in strA is less than the substring in strB.
NulaZero Podřetězce jsou rovny nebo length jsou nulové.The substrings are equal, or length is zero.
Větší než nulaGreater than zero Dílčí řetězec v strA je větší než dílčí řetězec v strB.The substring in strA is greater than the substring in strB.

Výjimky

strAnull není a indexA je větší než strA..LengthstrA is not null and indexA is greater than strA.Length.

-nebo--or- strBnull není a indexB je větší než strB..LengthstrB is not null and indexB is greater than strB.Length.

-nebo--or- indexA, indexB nebolength je negativní.indexA, indexB, or length is negative.

Příklady

Následující příklad ukazuje, že CompareOrdinal a Compare použít jiné objednávky řazení.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
End Class

Poznámky

Parametry, indexBa musí být nezáporné. indexA lengthThe indexA, indexB, and length parameters must be nonnegative.

Počet znaků, které jsou v porovnání, je menší než délka strA menší indexA, délka strB je menší indexBa length.The number of characters compared is the lesser of the length of strA less indexA, the length of strB less indexB, and length.

Tato metoda provádí porovnání rozlišující velká a malá písmena pomocí pravidel pořadí řazení.This method performs a case-sensitive comparison using ordinal sort rules. Další informace o aplikaci Word, řetězci a pořadí řazení naleznete v tématu System.Globalization.CompareOptions.For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Chcete-li provést porovnání bez rozlišování velkých a malých písmen pomocí pravidel Compare(String, Int32, String, Int32, Int32, StringComparison) comparisonType pro ordinální řazení, zavolejte metodu s StringComparison.OrdinalIgnoreCaseargumentem nastaveným 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.

Protože CompareOrdinal(String, String) je statická strA Metoda a strB může být null.Because CompareOrdinal(String, String) is a static method, strA and strB can be null. Pokud jsou nullobě hodnoty, metoda vrátí 0 (nula), což znamená, že strA a strB jsou stejné.If both values are null, the method returns 0 (zero), which indicates that strA and strB are equal. Pokud je nullpouze jedna z hodnot, metoda považuje hodnotu, která není null, aby byla větší.If only one of the values is null, the method considers the non-null value to be greater.

Viz také

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

Porovná dva String zadané objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.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

První řetězec určený k porovnáníThe first string to compare.

strB
String String String String

Druhý řetězec určený k porovnáníThe second string to compare.

Návraty

Celé číslo, které označuje lexikální vztah mezi dvěma komparand.An integer that indicates the lexical relationship between the two comparands.

ValueValue PodmínkaCondition
Menší než nulaLess than zero strAje menší než strB.strA is less than strB.
NulaZero strAa strB jsou stejné.strA and strB are equal.
Větší než nulaGreater than zero strAje větší než strB.strA is greater than strB.

Příklady

Následující příklad provádí a ordinální porovnání dvou řetězců, které se liší pouze v případě velkých a malých písmen.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
End Class
'
'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'.
'

Poznámky

Tato metoda provádí porovnání rozlišující velká a malá písmena pomocí pravidel pořadí řazení.This method performs a case-sensitive comparison using ordinal sort rules. Další informace o aplikaci Word, řetězci a pořadí řazení naleznete v tématu System.Globalization.CompareOptions.For more information about word, string, and ordinal sorts, see System.Globalization.CompareOptions. Chcete-li provést porovnání bez rozlišování velkých a malých písmen pomocí pravidel Compare(String, String, StringComparison) comparisonType pro ordinální řazení, zavolejte metodu s StringComparison.OrdinalIgnoreCaseargumentem nastaveným 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.

Protože CompareOrdinal(String, String) je statická strA Metoda a strB může být null.Because CompareOrdinal(String, String) is a static method, strA and strB can be null. Pokud jsou nullobě hodnoty, metoda vrátí 0 (nula), což znamená, že strA a strB jsou stejné.If both values are null, the method returns 0 (zero), which indicates that strA and strB are equal. Pokud je nullpouze jedna z hodnot, metoda považuje hodnotu, která není null, aby byla větší.If only one of the values is null, the method considers the non-null value to be greater.

Viz také

Platí pro