Enum.CompareTo(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
将此实例与指定对象进行比较并返回一个对二者的相对值的指示。
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
的相对值的带符号数字。
Value | 含义 |
---|---|
小于零 | 此实例的值小于 target 的值。
|
零 | 此实例的值等于 target 的值。
|
大于零 | 此实例的值大于 target 的值,或 target 为 null 。 |
实现
例外
target
和此实例不是同一类型。
此实例为 NULL。
示例
下面的示例演示如何 CompareTo
在 的 Enum
上下文中使用 。
using namespace System;
public 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" );
}
// 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
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