IComparable. Compare To(Object) Method
Compares this instance to a specified Guid object and returns an indication of their relative values.
virtual int System.IComparable.CompareTo(System::Object ^ value) = IComparable::CompareTo;
int IComparable.CompareTo (object value);
Function CompareTo (value As Object) As Integer Implements IComparable.CompareTo
An object to compare to this instance.
A signed number indicating the relative values of this instance and
|A negative integer||This instance is less than |
|Zero||This instance is equal to |
|A positive integer||This instance is greater than |
CompareTo method compares the GUIDs as if they were values provided to the Guid(Int32, Int16, Int16, Byte) constructor, as follows:
- It compares the UInt32 values, and returns a result if they are unequal. If they are equal, it performs the next comparison.
- It compares the first UInt16 values, and returns a result if they are unequal. If they are equal, it performs the next comparison.
- It compares the second UInt16 values, and returns a result if they are unequal. If they are equal, it performs the next comparison.
- If performs a byte-by-byte comparison of the next eight Byte values. When it encounters the first unequal pair, it returns the result. Otherwise, it returns 0 to indicate that the two Guid values are equal.
Note that the final eight bytes appear in the string representation of a Guid in reverse order, from low byte to high byte. For example, in the string representation of the Guid value "01e75c83-c6f5-4192-b57e-7427cec5560d", the final eight bytes are "b57e-7427cec5560d." In other words, the final eight bytes are compared on a byte-by-byte basis from left to right starting with 0xb5.
If two GUIDs have equal values for a component, the method compares the next component. When it finds a component whose values are unequal, it returns the result.