String.CompareOrdinal Metódus

Definíció

Két String objektumot hasonlít össze az egyes sztringek megfelelő Char objektumainak numerikus értékeinek kiértékelésével.

Túlterhelések

Name Description
CompareOrdinal(String, String)

Két megadott String objektumot hasonlít össze az egyes sztringek megfelelő Char objektumainak numerikus értékeinek kiértékelésével.

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

Két megadott String objektum részszűrését hasonlítja össze az egyes részszűrések megfelelő Char objektumainak numerikus értékeinek kiértékelésével.

CompareOrdinal(String, String)

Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs

Két megadott String objektumot hasonlít össze az egyes sztringek megfelelő Char objektumainak numerikus értékeinek kiértékelésével.

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

Paraméterek

strA
String

Az első összehasonlítandó sztring.

strB
String

A második összehasonlítandó sztring.

Válaszok

Egy egész szám, amely a két összehasonlítás lexikális kapcsolatát jelzi.

Érték Feltétel
Nullánál kisebb strA kisebb, mint strB.
Nulla strA és strB egyenlőek.
Nullánál nagyobb strA nagyobb, mint strB.

Példák

Az alábbi példa két olyan sztringet hajt végre és végez el, amelyek csak abban az esetben különböznek egymástól.

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

Megjegyzések

Ez a módszer rendezési szabályok használatával végez kis- és nagybetűket megkülönböztető összehasonlítást. A szavak, sztringek és sorszámok rendezéséről további információt a következő témakörben talál System.Globalization.CompareOptions: . Ha a kis- és nagybetűk érzéketlen összehasonlítását rendezési szabályokkal szeretné elvégezni, hívja meg a Compare(String, String, StringComparison) metódust úgy, hogy az argumentum értéke a comparisonTypeStringComparison.OrdinalIgnoreCasekövetkező legyen.

Mivel CompareOrdinal(String, String) ez egy statikus módszer, strA és strB lehet null. Ha mindkét érték értéke, nullakkor a metódus 0 (nulla) értéket ad vissza, ami azt jelzi, strA hogy strB egyenlő. Ha csak az egyik érték, nulla metódus a nem null értéket nagyobbnak tekinti.

Lásd még

A következőre érvényes:

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

Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs
Forrás:
String.Comparison.cs

Két megadott String objektum részszűrését hasonlítja össze az egyes részszűrések megfelelő Char objektumainak numerikus értékeinek kiértékelésével.

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

Paraméterek

strA
String

Az összehasonlításban elsőként használandó sztring.

indexA
Int32

Az alsztring kezdő indexe a következőben strA: .

strB
String

Az összehasonlításban használt második sztring.

indexB
Int32

Az alsztring kezdő indexe a következőben strB: .

length
Int32

Az összehasonlítandó alsztringek karaktereinek maximális száma.

Válaszok

Egy 32 bites aláírt egész szám, amely a két összehasonlítás és a két összehasonlítás közötti lexikális kapcsolatot jelzi.

Érték Feltétel
Nullánál kisebb A beszúrás strA kisebb, mint a beszúrt részszűrés.strB
Nulla Az alsztringek egyenlők, vagy length nulla.
Nullánál nagyobb A beszúrás strA nagyobb, mint a beszúrt strBrész.

Kivételek

strA nem null , és indexA nagyobb, mint strA.Length.

-vagy-

strB nem null , és indexB nagyobb, mint strB.Length.

-vagy-

indexA, indexBvagy length negatív.

Példák

Az alábbi példa ezt mutatja be, CompareOrdinal és Compare különböző rendezési sorrendeket használ.

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

Megjegyzések

A indexA, indexBés length a paraméterek nem lehetnek nemegatívak.

Az összehasonlított karakterek száma a kisebb, a rövidebb és strAa rövidebb.indexAstrBindexBlength

Ez a módszer rendezési szabályok használatával végez kis- és nagybetűket megkülönböztető összehasonlítást. A szavak, sztringek és sorszámok rendezéséről további információt a következő témakörben talál System.Globalization.CompareOptions: . Ha a kis- és nagybetűk érzéketlen összehasonlítását rendezési szabályokkal szeretné elvégezni, hívja meg a Compare(String, Int32, String, Int32, Int32, StringComparison) metódust úgy, hogy az argumentum értéke a comparisonTypeStringComparison.OrdinalIgnoreCasekövetkező legyen.

Mivel CompareOrdinal(String, String) ez egy statikus módszer, strA és strB lehet null. Ha mindkét érték értéke, nullakkor a metódus 0 (nulla) értéket ad vissza, ami azt jelzi, strA hogy strB egyenlő. Ha csak az egyik érték, nulla metódus a nem null értéket nagyobbnak tekinti.

Lásd még

A következőre érvényes: