IComparable インターフェイス
アセンブリ: mscorlib (mscorlib.dll 内)



IComparable の実装とその必要条件である CompareTo メソッドについては、次のコード例を参照してください。
Public Class Temperature Implements IComparable Public Overloads Function CompareTo(ByVal obj As Object) As Integer _ Implements IComparable.CompareTo If TypeOf obj Is Temperature Then Dim temp As Temperature = CType(obj, Temperature) Return m_value.CompareTo(temp.m_value) End If Throw New ArgumentException("object is not a Temperature") End Function ' The value holder Protected m_value As Integer Public Property Value() As Integer Get Return m_value End Get Set(ByVal Value As Integer) m_value = Value End Set End Property Public Property Celsius() As Integer Get Return (m_value - 32) / 2 End Get Set(ByVal Value As Integer) m_value = Value * 2 + 32 End Set End Property End Class
public class Temperature : IComparable { /// <summary> /// IComparable.CompareTo implementation. /// </summary> public int CompareTo(object obj) { if(obj is Temperature) { Temperature temp = (Temperature) obj; return m_value.CompareTo(temp.m_value); } throw new ArgumentException("object is not a Temperature"); } // The value holder protected int m_value; public int Value { get { return m_value; } set { m_value = value; } } public int Celsius { get { return (m_value-32)/2; } set { m_value = value*2+32; } } }
public ref class Temperature: public IComparable { /// <summary> /// IComparable.CompareTo implementation. /// </summary> protected: // The value holder Double m_value; public: virtual Int32 CompareTo( Object^ obj ) { if ( obj->GetType() == Temperature::typeid ) { Temperature^ temp = dynamic_cast<Temperature^>(obj); return m_value.CompareTo( temp->m_value ); } throw gcnew ArgumentException( "object is not a Temperature" ); } property Double Value { Double get() { return m_value; } void set( Double value ) { m_value = value; } } property Double Celsius { Double get() { return (m_value - 32) / 1.8; } void set( Double value ) { m_value = value * 1.8 + 32; } } };
public class Temperature implements IComparable { /// <summary> /// IComparable.CompareTo implementation. /// </summary> public int CompareTo(Object obj) { if (obj instanceof Temperature) { Temperature temp = (Temperature)obj; return ((Int32)mValue).CompareTo(temp.mValue); } throw new ArgumentException("object is not a Temperature"); } //CompareTo // The value holder protected int mValue; /** @property */ public int get_Value() { return mValue; }//get_Value /** @property */ public void set_Value(int value) { mValue = value; }//set_Value /** @property */ public int get_Celsius() { return (mValue - 32) / 2; }//get_Celsius /** @property */ public void set_Celsius(int value) { mValue = value * 2 + 32; }//set_Celsius } //Temperature

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- IComparable インターフェイスのページへのリンク