Guid.IComparable.CompareTo(Object) メソッド

定義

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

 virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo(object value);
abstract member System.IComparable.CompareTo : obj -> int
override this.System.IComparable.CompareTo : obj -> int
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo

パラメーター

value
Object

このインスタンスと比較するオブジェクト。

返品

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

戻り値Description
負の整数このインスタンスは value未満です。
ゼロこのインスタンスは、 valueと同じです。
正の整数このインスタンスは valueより大きい。

実装

注釈

このメンバーは、明示的なインターフェイス メンバーの実装です。 Guid インスタンスがIComparable インターフェイスにキャストされている場合にのみ使用できます。

CompareTo メソッドは、GUID を次のように、Guid(Int32, Int16, Int16, Byte[]) コンストラクターに指定された値と比較します。

  • UInt32値を比較し、等しくない場合は結果を返します。 等しい場合は、次の比較を実行します。
  • 最初の UInt16 値を比較し、等しくない場合は結果を返します。 等しい場合は、次の比較を実行します。
  • 2 番目の UInt16 値を比較し、等しくない場合は結果を返します。 等しい場合は、次の比較を実行します。
  • if は、次の 8 つの Byte 値のバイト単位の比較を実行します。 最初の等しくないペアが検出されると、結果が返されます。 それ以外の場合は、2 つの Guid 値が等しいことを示す 0 を返します。

最後の 8 バイトは、下位バイトから高バイトまでの Guid の文字列形式で逆順に表示されることに注意してください。 たとえば、 Guid 値 "01e75c83-c6f5-4192-b57e-7427cec5560d" の文字列表現では、最後の 8 バイトは "b57e-7427cec5560d" です。つまり、最後の 8 バイトは、0xb5で始まる左から右にバイト単位で比較されます。

2 つの GUID に 1 つのコンポーネントの値が等しい場合、メソッドは次のコンポーネントを比較します。 値が等しくないコンポーネントが見つかると、結果が返されます。

このメソッドはSystem.IComparable<T> インターフェイスを実装し、Guid.CompareTo パラメーターをvalue値に変換する必要がないため、Guid メソッドよりも若干優れたパフォーマンスを発揮します。

適用対象