String.CompareOrdinal Metoda

Definice

Porovná dva String objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.

Přetížení

CompareOrdinal(String, String)

Porovná dva zadané String objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.

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

Porovnává podřetěžce dvou zadaných String objektů vyhodnocením číselných hodnot odpovídajících Char objektů v každém podřetěžci.

CompareOrdinal(String, String)

Zdroj:
String.Comparison.cs
Zdroj:
String.Comparison.cs
Zdroj:
String.Comparison.cs

Porovná dva zadané String objekty vyhodnocením číselných hodnot odpovídajících Char objektů v každém řetězci.

public:
 static int CompareOrdinal(System::String ^ strA, System::String ^ strB);
public static int CompareOrdinal (string strA, 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

První řetězec určený k porovnání

strB
String

Druhý řetězec určený k porovnání

Návraty

Celé číslo, které označuje lexikální vztah mezi dvěma komparátory.

Hodnota Podmínka
Menší než nula strA je menší než strB.
Žádnou strA a strB jsou si rovny.
Větší než nula strA je větší než strB.

Příklady

Následující příklad provede a ordinální porovnání dvou řetězců, které se liší pouze v případě.

// 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)
open System

let str1 = "ABCD"
let str2 = "abcd"

printfn "\nCompare the numeric values of the corresponding Char objects in each string."
printfn $"str1 = '{str1}', str2 = '{str2}'"
let result = String.CompareOrdinal(str1, str2)
let str = if result < 0 then "less than" elif result > 0 then "greater than" else "equal to"
printf $"String '{str1}' is "
printf $"{str} "
printfn $"String '{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í s rozlišováním velkých a malých písmen pomocí pravidel řazení řad. Další informace o řazení slov, řetězců a řadových řad najdete v tématu System.Globalization.CompareOptions. Pokud chcete provést porovnání bez rozlišování velkých a malých písmen pomocí pravidel řazení řad, zavolejte metodu Compare(String, String, StringComparison) s argumentem nastaveným comparisonType na StringComparison.OrdinalIgnoreCase.

Protože CompareOrdinal(String, String) je statická metoda strA a strB může být null. Pokud jsou nullobě hodnoty , vrátí metoda hodnotu 0 (nula), což označuje, že strA a strB jsou si rovny. Pokud je nullpouze jedna z hodnot , metoda považuje hodnotu, která není null, za větší.

Viz také

Platí pro

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

Zdroj:
String.Comparison.cs
Zdroj:
String.Comparison.cs
Zdroj:
String.Comparison.cs

Porovnává podřetěžce dvou zadaných String objektů vyhodnocením číselných hodnot odpovídajících Char objektů v každém podřetěžci.

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);
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

První řetězec určený k použití v porovnání.

indexA
Int32

Počáteční index podřetětce v strA.

strB
String

Druhý řetězec určený k porovnání.

indexB
Int32

Počáteční index podřetětce v strB.

length
Int32

Maximální počet znaků podřetězce, které se mají porovnat.

Návraty

32bitové číslo se znaménkem, které označuje lexikální vztah mezi dvěma komparátory.

Hodnota Podmínka
Menší než nula Podřetětce v strA souboru je menší než podřetěžce v strBsouboru .
Žádnou Podřetětcece jsou stejné nebo length nulové.
Větší než nula Podřetěžce v strA je větší než podřetěžce v strB.

Výjimky

strA není null a indexA je větší než strA.Length.

-nebo-

strB není null a indexB je větší než strB.Length.

-nebo-

indexA, indexBnebo length je negativní.

Příklady

Následující příklad ukazuje, že CompareOrdinal a Compare použití různých pořadí řazení.

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]);
    }
}
open System
open System.Globalization

[<EntryPoint>]
let main _ =
    let strLow = "abc"
    let strCap = "ABC"
    let result = "equal to "
    let pos = 1

    // The Unicode codepoint for 'b' is greater than the codepoint for 'B'.
    let x = String.CompareOrdinal(strLow, pos, strCap, pos, 1)
    let result =
        if x < 0 then "less than"
        elif x > 0 then "greater than"
        else "equal to"
    printfn $"CompareOrdinal(\"{strLow}\"[{pos}], \"{strCap}\"[{pos}]):"
    printfn $"   '{strLow[pos]}' is {result} '{strCap[pos]}'"

    // In U.S. English culture, 'b' is linguistically less than 'B'.
    let x = String.Compare(strLow, pos, strCap, pos, 1, false, new CultureInfo("en-US"))
    let result =
        if x < 0 then "less than"
        elif x > 0 then "greater than"
        else "equal to"
    printfn $"Compare(\"{strLow}\"[{pos}], \"{strCap}\"[{pos}]):"
    printfn $"   '{strLow[pos]}' is {result} '{strCap[pos]}'"
    0
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 indexA, indexBa length musí být nepotřebné.

Počet porovnávaných znaků je menší než délka strA menší než menší indexA, délka strB menší indexB, a length.

Tato metoda provádí porovnání s rozlišováním velkých a malých písmen pomocí pravidel řazení řad. Další informace o řazení slov, řetězců a řadových řad najdete v tématu System.Globalization.CompareOptions. Pokud chcete provést porovnání bez rozlišování velkých a malých písmen pomocí pravidel řazení řad, zavolejte metodu Compare(String, Int32, String, Int32, Int32, StringComparison) s argumentem nastaveným comparisonType na StringComparison.OrdinalIgnoreCase.

Protože CompareOrdinal(String, String) je statická metoda strA a strB může být null. Pokud jsou nullobě hodnoty , vrátí metoda hodnotu 0 (nula), což označuje, že strA a strB jsou si rovny. Pokud je nullpouze jedna z hodnot , metoda považuje hodnotu, která není null, za větší.

Viz také

Platí pro