String.CompareOrdinal Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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)
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)
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.