String.IComparable.CompareTo(Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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
Parametri
Restituisce
Intero con segno a 32 bit che indica se questa istanza precede, segue o si trova nella stessa posizione del parametro value
nell'ordinamento.
Valore | Condizione |
---|---|
Minore di zero | Questa istanza precede value . |
Zero | Questa istanza si trova nella stessa posizione di value nell'ordinamento. |
Maggiore di zero | Questa istanza segue value oppure value è null . |
Implementazioni
Eccezioni
value
non è un oggetto String.
Esempio
Nell'esempio seguente viene usato il CompareTo metodo con un Objectoggetto . Poiché tenta di confrontare un'istanza String a un TestClass
oggetto, il metodo genera un ArgumentExceptionoggetto .
using namespace System;
public ref class TestClass{};
int main()
{
TestClass^ test = gcnew TestClass;
array<Object^>^ objectsToCompare = { test, test->ToString(), 123,
(123).ToString(), "some text",
"Some Text" };
String^ s = "some text";
for each (Object^ objectToCompare in objectsToCompare) {
try {
Int32 i = s->CompareTo(objectToCompare);
Console::WriteLine("Comparing '{0}' with '{1}': {2}",
s, objectToCompare, i);
}
catch (ArgumentException^ e) {
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
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
Commenti
value
deve essere un String oggetto.
Attenzione
Il CompareTo metodo è stato progettato principalmente per l'uso nelle operazioni di ordinamento o alfabetizzazione. Non deve essere usato quando lo scopo principale della chiamata al metodo consiste nel determinare se due stringhe sono equivalenti. Per determinare se due stringhe sono equivalenti, chiamare il Equals metodo.
Questo metodo esegue un confronto tra maiuscole e minuscole e sensibili alle impostazioni cultura usando le impostazioni cultura correnti. Per altre informazioni su word, string e ordinali, vedere System.Globalization.CompareOptions.
Per altre informazioni sul comportamento di questo metodo, vedere la sezione Osservazioni del String.Compare(String, String) metodo.