Share via


Enum.CompareTo 方法

将此实例与指定对象进行比较并返回一个对二者的相对值的指示。

**命名空间:**System
**程序集:**mscorlib(在 mscorlib.dll 中)

语法

声明
Public Function CompareTo ( _
    target As Object _
) As Integer
用法
Dim instance As Enum
Dim target As Object
Dim returnValue As Integer

returnValue = instance.CompareTo(target)
public int CompareTo (
    Object target
)
public:
virtual int CompareTo (
    Object^ target
) sealed
public final int CompareTo (
    Object target
)
public final function CompareTo (
    target : Object
) : int

参数

  • target
    要比较的对象,或为 空引用(在 Visual Basic 中为 Nothing)。

返回值

有符号数字,指示此实例和 target 的相对值。

返回值

说明

小于零

此实例的值小于 target 的值。

此实例的值等于 target 的值。

大于零

此实例的值大于 target 的值。

- 或 -

target 为 空引用(在 Visual Basic 中为 Nothing)。

异常

异常类型 条件

ArgumentException

target 与此实例不是同一类型。

InvalidOperationException

此实例不是 SByteInt16Int32Int64ByteUInt16UInt32UInt64 类型。

示例

下面的代码示例说明如何在 Enum 上下文中使用 CompareTo

Imports System

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 'Main
End Class 'CompareToTest
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" );
    }
}
using namespace System;
enum class VehicleDoors
{
   Motorbike = 0,
   Sportscar = 2,
   Sedan = 4,
   Hatchback = 5
};

int 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 );
   Int32 iRes = myVeh.CompareTo( yourVeh );
   Console::WriteLine(  "{0}{1}", iRes > 0 ? (String^)"Yes" : "No", Environment::NewLine );
   Console::WriteLine(  "Does a {0} have more doors than a {1}?", myVeh, otherVeh );
   iRes = myVeh.CompareTo( otherVeh );
   Console::WriteLine(  "{0}", iRes > 0 ? (String^)"Yes" : "No" );
}
import System.*;

public class CompareToTest
{
    static class VehicleDoors
    {
        private int member;

        VehicleDoors(int n)
        {
            member = n;
        }//VehicleDoors

        public String get_Member()
        {
            if (member == 0) {
                return "MotorBike";
            }
            else {
                if (member == 2) {
                    return "Sportscar";
                }
                else {
                    if (member == 4) {
                        return "Sedan";
                    }
                    else {
                        if (member == 5) {
                            return "Hatchback";
                        }
                        else {
                            return "";
                        }
                    }
                }
            }
        }//get_Member

        public int get_Number()
        {
            return member;
        }//get_Number

        public static int Motorbike = 0;
        public static int Sportscar = 2;
        public static int Sedan = 4;
        public static int Hatchback = 5;
    } //VehicleDoors

    public static void main(String[] args)
    {
        VehicleDoors myVeh = new VehicleDoors(VehicleDoors.Sportscar);
        VehicleDoors yourVeh = new VehicleDoors(VehicleDoors.Motorbike);
        VehicleDoors otherVeh = new VehicleDoors(VehicleDoors.Sedan);

        Console.WriteLine("Does a {0} have more doors than a {1}?", 
            myVeh.get_Member(), yourVeh.get_Member());
        Console.WriteLine("{0}{1}", 
            (String.Compare(System.Convert.ToString(myVeh.get_Number()), 
            System.Convert.ToString(yourVeh.get_Number())) > 0) ? "Yes" : "No", 
            Environment.get_NewLine());

        Console.WriteLine("Does a {0} have more doors than a {1}?", 
            myVeh.get_Member(), otherVeh.get_Member());
        Console.WriteLine("{0}", (
            String.Compare(System.Convert.ToString(myVeh.get_Number()), 
            System.Convert.ToString(otherVeh.get_Number())) > 0) ? "Yes" : "No");
    } //main
} //CompareToTest

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0

请参见

参考

Enum 结构
Enum 成员
System 命名空间
Equals