This documentation is archived and is not being maintained.

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 int CompareTo(
	Object value


Type: System.Object

An object to compare, or null.

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 null.




value is not a Guid.

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

value must be null 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.

using System;
using System.Runtime.InteropServices;

// Guid for the interface IMyInterface.
interface IMyInterface
    void MyMethod();

// Guid for the coclass MyTestClass.
public class MyTestClass : IMyInterface
    public void MyMethod() {}

    public static void Main( string []args )
        GuidAttribute IMyInterfaceAttribute = (GuidAttribute) Attribute.GetCustomAttribute(typeof(IMyInterface), typeof(GuidAttribute));

        // The Value property of GuidAttribute returns a string. 
        System.Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value );    

        // Using the string to create a guid.
        Guid myGuid1 = new Guid(IMyInterfaceAttribute.Value );
        // Using a byte array to create a guid.
        Guid myGuid2 = new Guid(myGuid1.ToByteArray());

        // Equals is overridden to perform a value comparison. 
        if (myGuid1.Equals(myGuid2))
            System.Console.WriteLine("myGuid1 equals myGuid2");
            System.Console.WriteLine("myGuid1 does not equal myGuid2" );

        // Equality operator can also be used to determine if two guids have same value. 
        if ( myGuid1 == myGuid2 )
            System.Console.WriteLine( "myGuid1 == myGuid2" );
            System.Console.WriteLine( "myGuid1 != myGuid2" );
// The example displays the following output: 
//       IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4 
//       myGuid1 equals myGuid2 
//       myGuid1 == myGuid2

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC, Xbox 360, Zune

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0

XNA Framework

Supported in: 3.0, 2.0, 1.0