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 數值,若不相等則回傳結果。 若兩者相等,則進行下一次比較。
- 它會比較第二個 UInt16 值,若不相等則回傳結果。 若兩者相等,則進行下一次比較。
- 如果 對接下來的八 Byte 個值進行逐位元組比較。 當它遇到第一個不相等的配對時,會回傳結果。 否則,則回傳 0,表示兩個 Guid 值相等。
請注意,最後八個位元組在 a Guid 的字串表示中是逆向排列,從低位位元組到高位元組。 例如,在「01e75c83-c6f5-4192-b57e-7427cec5560d」的 Guid 字串表示中,最後八個位元組為「b57e-7427cec5560d」。換句話說,最後八個位元組會依序從左到右逐位元組比較,從 0xb5 開始。
若兩個 GUID 對某元件的值相等,方法會比較下一個元件。 當它找到一個分量值不相等時,會回傳結果。
此方法實作了 System.IComparable<T> 介面,且效能略優於該 Guid.CompareTo 方法,因為它不必將參數轉換為 value 值 Guid 。