Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

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

© 2015 Microsoft