Прочитать на английском

Поделиться через


Enum.CompareTo(Object) Метод

Определение

Сравнивает этот экземпляр с заданным объектом и возвращает значение, указывающее, как соотносятся значения этих объектов.

C#
public int CompareTo (object target);
C#
public int CompareTo (object? target);

Параметры

target
Object

Объект для сравнения или значение null.

Возвращаемое значение

Знаковое число, представляющее относительные значения этого экземпляра и параметра target.

Значение Значение
Меньше нуля Значение данного экземпляра меньше значения параметра target.
Zero Значение данного экземпляра равно значению параметра target.
Больше нуля Значение этого экземпляра больше значения параметра target или параметр target имеет значение null.

Реализации

Исключения

target и этот экземпляр не принадлежат к одному типу.

Этот экземпляр не принадлежит к типу SByte, Int16, Int32, Int64, Byte, UInt16, UInt32 или UInt64.

Этот экземпляр имеет значение NULL.

Примеры

В следующем примере показано использование CompareTo в контексте Enum.

C#
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

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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