String.IComparable.CompareTo(Object) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
Parametry
Návraty
32bitové celé číslo se znaménkem, které určuje, jestli tato instance předchází, následuje nebo se objevuje na stejné pozici v pořadí řazení jako value
parametr .
Hodnota | Podmínka |
---|---|
Menší než nula | Tato instance předchází value . |
Žádnou | Tato instance má stejnou pozici v pořadí řazení jako value . |
Větší než nula | Tato instance následuje value za , nebo je value null . |
Implementuje
Výjimky
value
není String .
Příklady
Následující příklad používá CompareTo metodu s Object . Vzhledem k tomu, že se pokusí porovnat String instanci s TestClass
objektem, metoda vyvolá výjimku ArgumentException .
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
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
Poznámky
value
musí být String objekt .
Upozornění
Metoda CompareTo byla navržena primárně pro použití při operacích řazení nebo abecedy. Neměl by se používat, pokud je primárním účelem volání metody určení, zda jsou dva řetězce ekvivalentní. Pokud chcete zjistit, jestli jsou dva řetězce ekvivalentní, zavolejte Equals metodu .
Tato metoda provádí porovnání slov (velká a malá písmena a specifika jazykové verze) použitím aktuální jazykové verze. Další informace o aplikaci Word, řetězci a pořadí řazení naleznete v tématu System.Globalization.CompareOptions .
Další informace o chování této metody naleznete v části poznámky v String.Compare(String, String) metodě.