String.IComparable.CompareTo(Object) 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.
virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo(object value);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo
Parameters
Retouren
Een 32-bits ondertekend geheel getal dat aangeeft of deze instantie voorafgaat aan, volgt of op dezelfde positie wordt weergegeven in de sorteervolgorde als de value parameter.
| Waarde | Condition |
|---|---|
| Kleiner dan nul | Dit exemplaar wordt voorafgegaan door value. |
| Nul | Dit exemplaar heeft dezelfde positie in de sorteervolgorde als value. |
| Groter dan nul | Dit exemplaar volgt valueof value is null. |
Implementeringen
Uitzonderingen
value is geen String.
Voorbeelden
In het volgende voorbeeld wordt de CompareTo methode gebruikt met een Object. Omdat er wordt geprobeerd een String exemplaar te vergelijken met een TestClass object, genereert de methode een ArgumentException.
using System;
public class TestClass
{}
public class Example
{
public static void Main()
{
var test = new TestClass();
Object[] objectsToCompare = { test, test.ToString(), 123,
123.ToString(), "some text",
"Some Text" };
string s = "some text";
foreach (var objectToCompare in objectsToCompare) {
try {
int i = s.CompareTo(objectToCompare);
Console.WriteLine("Comparing '{0}' with '{1}': {2}",
s, objectToCompare, i);
}
catch (ArgumentException) {
Console.WriteLine("Bad argument: {0} (type {1})",
objectToCompare,
objectToCompare.GetType().Name);
}
}
}
}
// The example displays the following output:
// Bad argument: TestClass (type TestClass)
// Comparing 'some text' with 'TestClass': -1
// Bad argument: 123 (type Int32)
// Comparing 'some text' with '123': 1
// Comparing 'some text' with 'some text': 0
// Comparing 'some text' with 'Some Text': -1
open System
type TestClass() = class end
let test = TestClass()
let objectsToCompare: obj list =
[ test; string test; 123
string 123; "some text"
"Some Text" ]
let s = "some text"
for objectToCompare in objectsToCompare do
try
let i = s.CompareTo objectToCompare
printfn $"Comparing '{s}' with '{objectToCompare}': {i}"
with :? ArgumentException ->
printfn $"Bad argument: {objectToCompare} (type {objectToCompare.GetType().Name})"
// The example displays the following output:
// Bad argument: TestClass (type TestClass)
// Comparing 'some text' with 'TestClass': -1
// Bad argument: 123 (type Int32)
// Comparing 'some text' with '123': 1
// Comparing 'some text' with 'some text': 0
// Comparing 'some text' with 'Some Text': -1
Public Class TestClass
End Class
Public Class Example
Public Shared Sub Main()
Dim test As New TestClass()
Dim objectsToCompare() As Object = { test, test.ToString(), 123,
123.ToString(), "some text",
"Some Text" }
Dim s As String = "some text"
For Each objectToCompare In objectsToCompare
Try
Dim i As Integer = s.CompareTo(objectToCompare)
Console.WriteLine("Comparing '{0}' with '{1}': {2}",
s, objectToCompare, i)
Catch e As ArgumentException
Console.WriteLine("Bad argument: {0} (type {1})",
objectToCompare,
objectToCompare.GetType().Name)
End Try
Next
End Sub
End Class
' The example displays the following output:
' Bad argument: TestClass (type TestClass)
' Comparing 'some text' with 'TestClass': -1
' Bad argument: 123 (type Int32)
' Comparing 'some text' with '123': 1
' Comparing 'some text' with 'some text': 0
' Comparing 'some text' with 'Some Text': -1
Opmerkingen
value moet een String object zijn.
Caution
De CompareTo methode is voornamelijk ontworpen voor gebruik bij het sorteren of alfabetiseren van bewerkingen. Het mag niet worden gebruikt wanneer het primaire doel van de methode-aanroep is om te bepalen of twee tekenreeksen gelijkwaardig zijn. Als u wilt bepalen of twee tekenreeksen gelijkwaardig zijn, roept u de Equals methode aan.
Deze methode voert een woordvergelijking (hoofdlettergevoelig en cultuurgevoelig) uit met behulp van de huidige cultuur. Zie voor meer informatie over woorden, tekenreeksen en rangschikken System.Globalization.CompareOptions.
Zie de sectie Opmerkingen van de String.Compare(String, String) methode voor meer informatie over het gedrag van deze methode.