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 и этот экземпляр не является одинаковым типом.

Этот экземпляр не является типом SByte, Int16Int32, Int64, , Byte, UInt16UInt32или UInt64.

Этот экземпляр имеет значение 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

Применяется к

См. также раздел