String.CompareOrdinal Metoda

Definicja

Porównuje dwa String obiekty, oceniając wartości liczbowe odpowiednich Char obiektów w każdym ciągu.

Przeciążenia

CompareOrdinal(String, String)

Porównuje dwa określone String obiekty, oceniając wartości liczbowe odpowiednich Char obiektów w każdym ciągu.

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

Porównuje podciąg dwóch określonych String obiektów, oceniając wartości liczbowe odpowiednich Char obiektów w poszczególnych podciągach.

CompareOrdinal(String, String)

Źródło:
String.Comparison.cs
Źródło:
String.Comparison.cs
Źródło:
String.Comparison.cs

Porównuje dwa określone String obiekty, oceniając wartości liczbowe odpowiednich Char obiektów w każdym ciągu.

C#
public static int CompareOrdinal(string strA, string strB);
C#
public static int CompareOrdinal(string? strA, string? strB);

Parametry

strA
String

Pierwszy ciąg do porównania.

strB
String

Drugi ciąg do porównania.

Zwraca

Liczba całkowita wskazująca relację leksykalizaną między dwoma comparands.

Wartość Warunek
Mniej niż zero strA wartość jest mniejsza niż strB.
Zero strA i strB są równe.
Większe od zera strA wartość jest większa niż strB.

Przykłady

Poniższy przykład wykonuje i porządkowe porównanie dwóch ciągów, które różnią się tylko w przypadku.

C#
// 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'.
*/

Uwagi

Ta metoda wykonuje porównanie uwzględniające wielkość liter przy użyciu reguł sortowania porządkowego. Aby uzyskać więcej informacji na temat sortowania wyrazów, ciągów i porządkowych, zobacz System.Globalization.CompareOptions. Aby przeprowadzić porównanie bez uwzględniania wielkości liter przy użyciu reguł sortowania porządkowego, wywołaj Compare(String, String, StringComparison) metodę z argumentem ustawionym na comparisonTypeStringComparison.OrdinalIgnoreCasewartość .

Ponieważ CompareOrdinal(String, String) jest metodą statyczną i strAstrB może być null. Jeśli obie wartości to null, metoda zwraca wartość 0 (zero), która wskazuje, że strA i strB są równe. Jeśli tylko jedna z wartości to null, metoda uważa, że wartość niepusta jest większa.

Zobacz też

Dotyczy

.NET 10 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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

Źródło:
String.Comparison.cs
Źródło:
String.Comparison.cs
Źródło:
String.Comparison.cs

Porównuje podciąg dwóch określonych String obiektów, oceniając wartości liczbowe odpowiednich Char obiektów w poszczególnych podciągach.

C#
public static int CompareOrdinal(string strA, int indexA, string strB, int indexB, int length);
C#
public static int CompareOrdinal(string? strA, int indexA, string? strB, int indexB, int length);

Parametry

strA
String

Pierwszy ciąg do użycia w porównaniu.

indexA
Int32

Początkowy indeks podciągów w pliku strA.

strB
String

Drugi ciąg do użycia w porównaniu.

indexB
Int32

Początkowy indeks podciągów w pliku strB.

length
Int32

Maksymalna liczba znaków w podciągach do porównania.

Zwraca

32-bitowa oznaczona liczba całkowita wskazująca relację leksykalną między dwoma argumentami porównania.

Wartość Warunek
Mniej niż zero Podciąg w obiekcie strA jest mniejszy niż podciąg w elemecie strB.
Zero Podciągy są równe lub length są zerowe.
Większe od zera Podciąg w obiekcie strA jest większy niż podciąg w elemecie strB.

Wyjątki

strA nie null jest i indexA jest większy niż strA.Length.

-lub-

strB nie null jest i indexB jest większy niż strB.Length.

-lub-

indexA, indexBlub length jest ujemny.

Przykłady

W poniższym przykładzie pokazano, że CompareOrdinal i Compare używać różnych zamówień sortowania.

C#
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]);
    }
}

Uwagi

Parametry indexA, indexBi length muszą być nienegacyjne.

Liczba porównanych znaków jest mniejsza od długości mniejszej indexA, długości mniejszej strBindexB, i length.strA

Ta metoda wykonuje porównanie uwzględniające wielkość liter przy użyciu reguł sortowania porządkowego. Aby uzyskać więcej informacji na temat sortowania wyrazów, ciągów i porządkowych, zobacz System.Globalization.CompareOptions. Aby przeprowadzić porównanie bez uwzględniania wielkości liter przy użyciu reguł sortowania porządkowego, wywołaj Compare(String, Int32, String, Int32, Int32, StringComparison) metodę z argumentem ustawionym na comparisonTypeStringComparison.OrdinalIgnoreCasewartość .

Ponieważ CompareOrdinal(String, String) jest metodą statyczną i strAstrB może być null. Jeśli obie wartości to null, metoda zwraca wartość 0 (zero), która wskazuje, że strA i strB są równe. Jeśli tylko jedna z wartości to null, metoda uważa, że wartość niepusta jest większa.

Zobacz też

Dotyczy

.NET 10 i inne wersje
Produkt Wersje
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0