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)。 |
异常
异常类型 | 条件 |
---|---|
target 与此实例不是同一类型。 |
|
此实例不是 SByte、Int16、Int32、Int64、Byte、UInt16、UInt32 或 UInt64 类型。 |
示例
下面的代码示例说明如何在 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