String.CompareOrdinal Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Aşırı Yüklemeler
CompareOrdinal(String, String) |
Her dizedeki ilgili Char nesnelerin sayısal değerlerini değerlendirerek belirtilen String iki nesneyi karşılaştırır. |
CompareOrdinal(String, Int32, String, Int32, Int32) |
Her alt dizede karşılık gelen Char nesnelerin sayısal değerlerini değerlendirerek belirtilen String iki nesnenin alt dizelerini karşılaştırır. |
CompareOrdinal(String, String)
- Kaynak:
- String.Comparison.cs
- Kaynak:
- String.Comparison.cs
- Kaynak:
- 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
Parametreler
- strA
- String
Karşılaştırılacak ilk dize.
- strB
- String
Karşılaştırılacak ikinci dize.
Döndürülenler
İki karşılaştırma ve arasındaki sözcük temelli ilişkiyi gösteren bir tamsayı.
Değer | Koşul |
---|---|
Sıfırdan küçük |
strA değerinden küçüktür strB .
|
Sıfır |
strA ve strB eşittir.
|
Sıfırdan büyük |
strA değerinden büyüktür strB .
|
Örnekler
Aşağıdaki örnek, yalnızca büyük/küçük harfe göre farklılık gösteren iki dizenin sıralı karşılaştırmasını gerçekleştirir.
// 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'.
'
Açıklamalar
Bu yöntem sıralı sıralama kurallarını kullanarak büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir. Sözcük, dize ve sıralı sıralamalar hakkında daha fazla bilgi için bkz System.Globalization.CompareOptions. . Sıralı sıralama kurallarını kullanarak büyük/küçük harfe duyarsız bir karşılaştırma yapmak için, bağımsız değişkeni olarak ayarlanmış StringComparison.OrdinalIgnoreCaseşekilde yöntemini çağırın.Compare(String, String, StringComparison)comparisonType
Çünkü CompareOrdinal(String, String) statik bir yöntemdir strA
ve strB
olabilir null
. Her iki değer null
de ise, yöntemi 0 (sıfır) döndürür; bu da ve strB
değerlerinin eşit olduğunu strA
gösterir. Değerlerden yalnızca biri ise null
, yöntemi null olmayan değerin daha büyük olduğunu kabul eder.
Ayrıca bkz.
Şunlara uygulanır
CompareOrdinal(String, Int32, String, Int32, Int32)
- Kaynak:
- String.Comparison.cs
- Kaynak:
- String.Comparison.cs
- Kaynak:
- 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
Parametreler
- strA
- String
Karşılaştırmada kullanılacak ilk dize.
- indexA
- Int32
içindeki strA
alt dizenin başlangıç dizini.
- strB
- String
Karşılaştırmada kullanılacak ikinci dize.
- indexB
- Int32
içindeki strB
alt dizenin başlangıç dizini.
- length
- Int32
Karşılaştırılacak alt dizelerdeki maksimum karakter sayısı.
Döndürülenler
Karşılaştırılan iki öğe arasındaki sözlü ilişkiyi gösteren 32 bitlik bir işaretli tamsayı.
Değer | Koşul |
---|---|
Sıfırdan küçük | içindeki alt dize, içindeki strA strB alt dizeden küçüktür.
|
Sıfır | Alt dizeler eşittir veya length sıfırdır.
|
Sıfırdan büyük | içindeki alt dize içindeki strA alt dizeden strB büyüktür.
|
Özel durumlar
strA
değildir null
ve indexA
değerinden büyüktürstrA
.Length
-veya-
strB
değildir null
ve indexB
değerinden büyüktürstrB
.Length
-veya-
indexA
, indexB
veya length
negatiftir.
Örnekler
Aşağıdaki örnekte bunu CompareOrdinalCompare ve farklı sıralama düzenleri kullanıldığı gösterilmektedir.
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
Açıklamalar
indexA
, indexB
ve length
parametreleri gereksiz olmalıdır.
Karşılaştırılan karakter sayısı, daha az , daha az indexA
ve length
uzunluğu strA
strB
indexB
kadardır.
Bu yöntem sıralı sıralama kurallarını kullanarak büyük/küçük harfe duyarlı bir karşılaştırma gerçekleştirir. Sözcük, dize ve sıralı sıralamalar hakkında daha fazla bilgi için bkz System.Globalization.CompareOptions. . Sıralı sıralama kurallarını kullanarak büyük/küçük harfe duyarsız bir karşılaştırma yapmak için, bağımsız değişkeni olarak ayarlanmış StringComparison.OrdinalIgnoreCaseşekilde yöntemini çağırın.Compare(String, Int32, String, Int32, Int32, StringComparison)comparisonType
Çünkü CompareOrdinal(String, String) statik bir yöntemdir strA
ve strB
olabilir null
. Her iki değer null
de ise, yöntemi 0 (sıfır) döndürür; bu da ve strB
değerlerinin eşit olduğunu strA
gösterir. Değerlerden yalnızca biri ise null
, yöntemi null olmayan değerin daha büyük olduğunu kabul eder.