Guid.IComparable.CompareTo(Object) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このインスタンスを指定した 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 メソッドよりも若干優れたパフォーマンスを発揮します。