String.CompareOrdinal Metode

Definisi

Membandingkan dua String objek dengan mengevaluasi nilai numerik objek terkait Char di setiap string.

Overload

CompareOrdinal(String, String)

Membandingkan String dua objek tertentu dengan mengevaluasi nilai numerik objek terkait Char di setiap string.

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

Membandingkan substring dari dua objek tertentu String dengan mengevaluasi nilai numerik objek terkait Char di setiap substring.

CompareOrdinal(String, String)

Sumber:
String.Comparison.cs
Sumber:
String.Comparison.cs
Sumber:
String.Comparison.cs

Membandingkan String dua objek tertentu dengan mengevaluasi nilai numerik objek terkait Char di setiap string.

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

Parameter

strA
String

String pertama yang dibandingkan.

strB
String

String kedua untuk dibandingkan.

Mengembalikan

Bilangan bulat yang menunjukkan hubungan leksikal antara dua perbandingan.

Nilai Kondisi
Kurang dari nolstrA kurang dari strB.
NolstrA dan strB sama.
Lebih besar dari nolstrA lebih besar dari strB.

Contoh

Contoh berikut melakukan perbandingan ordinal dari dua string yang hanya berbeda dalam kasus.

// 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'.
'

Keterangan

Metode ini melakukan perbandingan peka huruf besar/kecil menggunakan aturan pengurutan ordinal. Untuk informasi selengkapnya tentang pengurutan kata, string, dan ordinal, lihat System.Globalization.CompareOptions. Untuk melakukan perbandingan yang tidak peka huruf besar/kecil menggunakan aturan pengurutan ordinal, panggil Compare(String, String, StringComparison) metode dengan argumen yang comparisonType diatur ke StringComparison.OrdinalIgnoreCase.

Karena CompareOrdinal(String, String) merupakan metode statis, strA dan strB dapat berupa null. Jika kedua nilai adalah null, metode mengembalikan 0 (nol), yang menunjukkan bahwa strA dan strB sama. Jika hanya salah satu nilai , nullmetode menganggap nilai non-null lebih besar.

Lihat juga

Berlaku untuk

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

Sumber:
String.Comparison.cs
Sumber:
String.Comparison.cs
Sumber:
String.Comparison.cs

Membandingkan substring dari dua objek tertentu String dengan mengevaluasi nilai numerik objek terkait Char di setiap 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);
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

Parameter

strA
String

String pertama yang digunakan dalam perbandingan.

indexA
Int32

Indeks awal substring di strA.

strB
String

String kedua yang digunakan dalam perbandingan.

indexB
Int32

Indeks awal substring di strB.

length
Int32

Jumlah maksimum karakter dalam substring yang akan dibandingkan.

Mengembalikan

Bilangan bulat bertanda 32-bit yang menunjukkan hubungan leksikal antara kedua comparands.

Nilai Kondisi
Kurang dari nol Substring di strA kurang dari substring di strB.
Nol Substring sama, atau length nol.
Lebih besar dari nol Substring di strA lebih besar dari substring di strB.

Pengecualian

strA tidak null dan indexA lebih besar dari strA.Length.

-atau-

strB tidak null dan indexB lebih besar dari strB.Length.

-atau-

indexA, indexB, atau length negatif.

Contoh

Contoh berikut menunjukkan bahwa CompareOrdinal dan Compare menggunakan urutan pengurutan yang berbeda.

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

Keterangan

Parameter indexA, indexB, dan length harus nonnegative.

Jumlah karakter yang dibandingkan adalah lebih sedikit dari panjang strA kurang , panjang strB lebih sedikit indexB, dan lengthindexA.

Metode ini melakukan perbandingan peka huruf besar/kecil menggunakan aturan pengurutan ordinal. Untuk informasi selengkapnya tentang pengurutan kata, string, dan ordinal, lihat System.Globalization.CompareOptions. Untuk melakukan perbandingan yang tidak peka huruf besar/kecil menggunakan aturan pengurutan ordinal, panggil Compare(String, Int32, String, Int32, Int32, StringComparison) metode dengan argumen yang comparisonType diatur ke StringComparison.OrdinalIgnoreCase.

Karena CompareOrdinal(String, String) merupakan metode statis, strA dan strB dapat berupa null. Jika kedua nilai adalah null, metode mengembalikan 0 (nol), yang menunjukkan bahwa strA dan strB sama. Jika hanya salah satu nilai , nullmetode menganggap nilai non-null lebih besar.

Lihat juga

Berlaku untuk