String.CompareOrdinal Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
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 nol |
strA kurang dari strB .
|
Nol |
strA dan strB sama.
|
Lebih besar dari nol |
strA 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 , null
metode 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
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 length
indexA
.
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 , null
metode menganggap nilai non-null lebih besar.