Enum.CompareTo(Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Сравнивает этот экземпляр с указанным объектом и возвращает указание их относительных значений.
public:
virtual int CompareTo(System::Object ^ target);
public int CompareTo(object target);
public int CompareTo(object? target);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (target As Object) As Integer
Параметры
- target
- Object
Объект для сравнения или null.
Возвращаемое значение
Подписанный номер, указывающий относительные значения этого экземпляра и target.
| Ценность | Смысл |
|---|---|
| Меньше нуля | Значение этого экземпляра меньше значения target.
|
| Нуля | Значение этого экземпляра равно значению target.
|
| Больше нуля | Значение этого экземпляра больше значения targetили target равно null. |
Реализации
Исключения
target и этот экземпляр не является одинаковым типом.
Этот экземпляр имеет значение NULL.
Примеры
В следующем примере показано использование CompareTo в контексте Enum.
using System;
public class CompareToTest {
enum VehicleDoors { Motorbike = 0, Sportscar = 2, Sedan = 4, Hatchback = 5 };
public static void Main() {
VehicleDoors myVeh = VehicleDoors.Sportscar;
VehicleDoors yourVeh = VehicleDoors.Motorbike;
VehicleDoors otherVeh = VehicleDoors.Sedan;
Console.WriteLine("Does a {0} have more doors than a {1}?", myVeh, yourVeh);
Console.WriteLine( "{0}{1}", myVeh.CompareTo(yourVeh) > 0 ? "Yes" : "No", Environment.NewLine );
Console.WriteLine("Does a {0} have more doors than a {1}?", myVeh, otherVeh);
Console.WriteLine( "{0}", myVeh.CompareTo(otherVeh) > 0 ? "Yes" : "No" );
}
}
// The example displays the following output:
// Does a Sportscar have more doors than a Motorbike?
// Yes
//
// Does a Sportscar have more doors than a Sedan?
// No
type VehicleDoors =
| Motorbike = 0
| Sportscar = 2
| Sedan = 4
| Hatchback = 5
let myVeh = VehicleDoors.Sportscar
let yourVeh = VehicleDoors.Motorbike
let otherVeh = VehicleDoors.Sedan
printfn $"Does a {myVeh} have more doors than a {yourVeh}?"
printfn $"""{if myVeh.CompareTo yourVeh > 0 then "Yes" else "No"}\n"""
printfn $"Does a {myVeh} have more doors than a {otherVeh}?"
printfn $"""{if myVeh.CompareTo otherVeh > 0 then "Yes" else "No"}"""
// The example displays the following output:
// Does a Sportscar have more doors than a Motorbike?
// Yes
//
// Does a Sportscar have more doors than a Sedan?
// No
Public Class CompareToTest
Enum VehicleDoors
Motorbike = 0
Sportscar = 2
Sedan = 4
Hatchback = 5
End Enum
Public Shared Sub Main()
Dim myVeh As VehicleDoors = VehicleDoors.Sportscar
Dim yourVeh As VehicleDoors = VehicleDoors.Motorbike
Dim otherVeh As VehicleDoors = VehicleDoors.Sedan
Dim output as String
If myVeh.CompareTo(yourVeh) > 0 Then output = "Yes" Else output = "No"
Console.WriteLine("Does a {0} have more doors than a {1}?", myVeh, yourVeh)
Console.WriteLine("{0}{1}", output, Environment.NewLine)
Console.WriteLine("Does a {0} have more doors than a {1}?", myVeh, otherVeh)
If myVeh.CompareTo(otherVeh) > 0 Then output = "Yes" Else output = "No"
Console.WriteLine("{0}", output)
End Sub
End Class
' The example displays the following output:
' Does a Sportscar have more doors than a Motorbike?
' Yes
'
' Does a Sportscar have more doors than a Sedan?
' No