次の方法で共有


Enum.CompareTo メソッド

指定したオブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。

Public Overridable Function CompareTo( _
   ByVal target As Object _) As Integer
[C#]
public virtual int CompareTo(objecttarget);
[C++]
public: virtual int CompareTo(Object* target);
[JScript]
public function CompareTo(
   target : Object) : int;

パラメータ

  • target
    比較対象のオブジェクト、または null 参照 (Visual Basic では Nothing) 。

戻り値

このインスタンスと target の相対値を示す符号付き数値。

戻り値 説明
0 より小さい値 このインスタンスの値が target より小さい値です。
0 このインスタンスの値が target の値と同じです。
0 より大きい値 このインスタンスの値が target より大きい値です。

または

target が null 参照 (Visual Basic では Nothing) です。

例外

例外の種類 条件
ArgumentException target とこのインスタンスは型が異なっています。
InvalidOperationException このインスタンスの型が、 SByteInt16Int32Int64ByteUInt16UInt32 、または UInt64 ではありません。

使用例

[Visual Basic, C#, C++] 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

[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" );
    }
}

[C++] 
#using <mscorlib.dll>
using namespace System;

__value enum 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}?", __box(myVeh), __box(yourVeh));
    Int32 iRes = __box(myVeh)->CompareTo(__box(yourVeh));
    Console::WriteLine( "{0}{1}", iRes > 0 ? S"Yes" : S"No", Environment::NewLine );

    Console::WriteLine("Does a {0} have more doors than a {1}?", __box(myVeh), __box(otherVeh));
    iRes = __box(myVeh)->CompareTo(__box(otherVeh));
    Console::WriteLine( "{0}", iRes > 0 ? S"Yes" : S"No" );

}

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, Common Language Infrastructure (CLI) Standard

参照

Enum クラス | Enum メンバ | System 名前空間 | Equals