String.CompareOrdinal Methode

Definitie

Vergelijkt twee String objecten door de numerieke waarden van de bijbehorende Char objecten in elke tekenreeks te evalueren.

Overloads

Name Description
CompareOrdinal(String, Int32, String, Int32, Int32)

Hiermee worden subtekenreeksen van twee opgegeven objecten vergeleken String door de numerieke waarden van de bijbehorende Char objecten in elke subtekenreeks te evalueren.

CompareOrdinal(String, String)

Vergelijkt twee opgegeven String objecten door de numerieke waarden van de bijbehorende Char objecten in elke tekenreeks te evalueren.

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

Hiermee worden subtekenreeksen van twee opgegeven objecten vergeleken String door de numerieke waarden van de bijbehorende Char objecten in elke subtekenreeks te evalueren.

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);
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

Parameters

strA
String

De eerste tekenreeks die in de vergelijking moet worden gebruikt.

indexA
Int32

De beginindex van de subtekenreeks in strA.

strB
String

De tweede tekenreeks die in de vergelijking moet worden gebruikt.

indexB
Int32

De beginindex van de subtekenreeks in strB.

length
Int32

Het maximum aantal tekens in de subtekenreeksen dat moet worden vergeleken.

Retouren

Een 32-bits geheel getal dat de lexicale relatie tussen de twee comparands aangeeft.

Waarde Conditie
Kleiner dan nul De subtekenreeks is strA kleiner dan de subtekenreeks in strB.
Nul De subtekenreeksen zijn gelijk of length nul.
Groter dan nul De subtekenreeks strA is groter dan de subtekenreeks in strB.

Uitzonderingen

strA is niet null en indexA is groter dan strA.Length.

– of –

strB is niet null en indexB is groter dan strB.Length.

– of –

indexA, indexBof length is negatief.

Voorbeelden

In dit volgende voorbeeld ziet u dat CompareOrdinal en Compare verschillende sorteervolgordes worden gebruikt.

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

Opmerkingen

De indexA, indexBen length parameters moeten niet-negatief zijn.

Het aantal tekens dat wordt vergeleken, is de mindere lengte van strA minder indexA, de lengte van strB minder indexBen length.

Met deze methode wordt een hoofdlettergevoelige vergelijking uitgevoerd met behulp van ordinale sorteerregels. Zie voor meer informatie over woorden, tekenreeksen en rangschikken System.Globalization.CompareOptions. Als u een niet-hoofdlettergevoelige vergelijking wilt uitvoeren met behulp van ordinale sorteerregels, roept u de Compare(String, Int32, String, Int32, Int32, StringComparison) methode aan met het comparisonType argument ingesteld op StringComparison.OrdinalIgnoreCase.

Omdat CompareOrdinal(String, String) dit een statische methode is en strBstrA kan dat zijnnull. Als beide waarden zijn null, retourneert de methode 0 (nul), wat aangeeft dat strA en strB gelijk zijn. Als slechts één van de waarden is null, wordt met de methode rekening gebracht dat de niet-null-waarde groter is.

Zie ook

Van toepassing op

CompareOrdinal(String, String)

Vergelijkt twee opgegeven String objecten door de numerieke waarden van de bijbehorende Char objecten in elke tekenreeks te evalueren.

public:
 static int CompareOrdinal(System::String ^ strA, System::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

Parameters

strA
String

De eerste tekenreeks die moet worden vergeleken.

strB
String

De tweede tekenreeks die moet worden vergeleken.

Retouren

Een geheel getal dat de lexicale relatie tussen de twee comparands aangeeft.

Waarde Conditie
Kleiner dan nul strA is kleiner dan strB.
Nul strA en strB zijn gelijk.
Groter dan nul strA is groter dan strB.

Voorbeelden

In het volgende voorbeeld wordt een ordinale vergelijking uitgevoerd van twee tekenreeksen die alleen verschillen in het geval.

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

Opmerkingen

Met deze methode wordt een hoofdlettergevoelige vergelijking uitgevoerd met behulp van ordinale sorteerregels. Zie voor meer informatie over woorden, tekenreeksen en rangschikken System.Globalization.CompareOptions. Als u een niet-hoofdlettergevoelige vergelijking wilt uitvoeren met behulp van ordinale sorteerregels, roept u de Compare(String, String, StringComparison) methode aan met het comparisonType argument ingesteld op StringComparison.OrdinalIgnoreCase.

Omdat CompareOrdinal(String, String) dit een statische methode is en strBstrA kan dat zijnnull. Als beide waarden zijn null, retourneert de methode 0 (nul), wat aangeeft dat strA en strB gelijk zijn. Als slechts één van de waarden is null, wordt met de methode rekening gebracht dat de niet-null-waarde groter is.

Zie ook

Van toepassing op