Guid.CompareTo Method (Object)

Compares this instance to a specified object and returns an indication of their relative values.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Public Function CompareTo ( _
	value As Object _
) As Integer


Type: System.Object
An object to compare, or Nothing.

Return Value

Type: System.Int32
A signed number indicating the relative values of this instance and value.



A negative integer

This instance is less than value.


This instance is equal to value.

A positive integer

This instance is greater than value.


value is Nothing.




value is not a Guid.

Any instance of Guid, regardless of its value, is considered greater than Nothing.

value must be Nothing or an instance of Guid; otherwise, an exception is thrown.

The following code sample demonstrates how to attach and read a Guid object as an attribute on a user-defined class or interface.

Imports System.Runtime.InteropServices

' Guid for the interface IMyInterface.
<Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")> _
Interface IMyInterface
   Sub MyMethod()
End Interface

' Guid for the coclass MyTestClass.
<Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")> _
Public Class Example
   Implements IMyInterface

   Public Sub MyMethod() Implements IMyInterface.MyMethod
   End Sub

   Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim IMyInterfaceAttribute As Attribute = Attribute.GetCustomAttribute(GetType(IMyInterface), GetType(GuidAttribute))

      ' The Value property of GuidAttribute returns a string. 
      outputBlock.Text += String.Format("IMyInterface Attribute: " + CType(IMyInterfaceAttribute, GuidAttribute).Value) & vbCrLf

      ' Using the string to create a guid.
      Dim myGuid1 As New Guid(CType(IMyInterfaceAttribute, GuidAttribute).Value)
      ' Using a byte array to create a guid.
      Dim myGuid2 As New Guid(myGuid1.ToByteArray())

      ' Equals is overridden and so value comparison is done though references are different.
      If myGuid1.Equals(myGuid2) Then
         outputBlock.Text &= "myGuid1 equals myGuid2" & vbCrLf
         outputBlock.Text &= "myGuid1 not equals myGuid2" & vbCrLf
      End If
      ' Equality operator can also be used to determine if two guids have same value.
      If myGuid1.ToString() = myGuid2.ToString() Then
         outputBlock.Text &= "myGuid1 == myGuid2" & vbCrLf
         outputBlock.Text &= "myGuid1 != myGuid2" & vbCrLf
      End If
   End Sub
End Class
' The example displays the following output:
'       IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
'       myGuid1 equals myGuid2
'       myGuid1 == myGuid2


Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions