Guid.CompareTo Guid.CompareTo Guid.CompareTo Guid.CompareTo Method

Definition

Vergleicht diese Instanz mit einem angegebenen Objekt oder Guid und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.Compares this instance to a specified object or Guid and returns an indication of their relative values.

Überlädt

CompareTo(Guid) CompareTo(Guid) CompareTo(Guid) CompareTo(Guid)

Vergleicht diese Instanz mit einem angegebenen Guid-Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.Compares this instance to a specified Guid object and returns an indication of their relative values.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.Compares this instance to a specified object and returns an indication of their relative values.

CompareTo(Guid) CompareTo(Guid) CompareTo(Guid) CompareTo(Guid)

Vergleicht diese Instanz mit einem angegebenen Guid-Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.Compares this instance to a specified Guid object and returns an indication of their relative values.

public:
 virtual int CompareTo(Guid value);
public int CompareTo (Guid value);
abstract member CompareTo : Guid -> int
override this.CompareTo : Guid -> int
Public Function CompareTo (value As Guid) As Integer

Parameter

value
Guid Guid Guid Guid

Ein mit dieser Instanz zu vergleichendes Objekt.An object to compare to this instance.

Gibt zurück

Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und value angibt.A signed number indicating the relative values of this instance and value.

RückgabewertReturn value Beschreibung Description
Eine negative ganze ZahlA negative integer Diese Instanz ist kleiner als value.This instance is less than value.
ZeroZero Diese Instanz ist gleich value.This instance is equal to value.
Eine positive ganze ZahlA positive integer Diese Instanz ist größer als value.This instance is greater than value.

Implementiert

Beispiele

Im folgenden Beispiel wird die CompareTo(Guid) Methode, um einen GUID-Wert mit zwei ähnliche GUID-Werten verglichen werden soll.The following example calls the CompareTo(Guid) method to compare a GUID value with two similar GUID values.

using System;

public class Example
{
   public static void Main()
   {
      Guid mainGuid = Guid.Parse("01e75c83-c6f5-4192-b57e-7427cec5560d");
      unchecked {
         Guid guid2 = new Guid(0x01e75c83, (short) 0xc6f5, 
                               0x4192,
                               new Byte[] { 0xb5, 0x7e, 0x74, 0x27, 0xce, 0xc5, 0x56, 0x0c} );
         Guid guid3 = Guid.Parse("01e75c84-c6f5-4192-b57e-7427cec5560d");
         
         Console.WriteLine("{0} {1:F} {2}", mainGuid, 
                           (Comparison) mainGuid.CompareTo(guid2), guid2);
         Console.WriteLine("{0} {1:F} {2}", mainGuid, 
                           (Comparison) mainGuid.CompareTo(guid3), guid3);
      }
   }

   private enum Comparison
   { LessThan = -1, Equals = 0, GreaterThan = 1 }
}
// The example displays the following output:
//    01e75c83-c6f5-4192-b57e-7427cec5560d GreaterThan 01e75c83-c6f5-4192-b57e-7427cec5560c
//    01e75c83-c6f5-4192-b57e-7427cec5560d LessThan 01e75c84-c6f5-4192-b57e-7427cec5560d
Module Example
   Public Sub Main()
      Dim mainGuid As Guid = Guid.Parse("01e75c83-c6f5-4192-b57e-7427cec5560d")
      Dim guid2 As New Guid(&h01e75c83, 
                            BitConverter.ToInt16(new Byte() { &hf5, &hc6 }, 0), 
                            &h4192, 
                            new Byte() { &hb5, &h7e, &h74, &h27, &hce, &hc5, &h56, &h0c} )
      Dim guid3 As Guid = Guid.Parse("01e75c84-c6f5-4192-b57e-7427cec5560d")
      
      Console.WriteLine("{0} {1:F} {2}", mainGuid, 
                        CType(mainGuid.CompareTo(guid2), Comparison), guid2)
      Console.WriteLine("{0} {1:F} {2}", mainGuid, 
                        CType(mainGuid.CompareTo(guid3), Comparison), guid3)
   End Sub
   
   Private Enum Comparison As Integer
      LessThan = -1
      Equals = 0
      GreaterThan = 1
   End Enum
End Module
' The example displays the following output:
'    01e75c83-c6f5-4192-b57e-7427cec5560d GreaterThan 01e75c83-c6f5-4192-b57e-7427cec5560c
'    01e75c83-c6f5-4192-b57e-7427cec5560d LessThan 01e75c84-c6f5-4192-b57e-7427cec5560d

Hinweise

Die CompareTo Methode vergleicht die GUIDs, als wären sie Werte bereitgestellt, um die Guid(Int32, Int16, Int16, Byte[]) Konstruktor wie folgt:The CompareTo method compares the GUIDs as if they were values provided to the Guid(Int32, Int16, Int16, Byte[]) constructor, as follows:

  • Es vergleicht die UInt32 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the UInt32 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Er vergleicht die ersten UInt16 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the first UInt16 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Es vergleicht die zweite UInt16 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the second UInt16 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Wenn führt einen Byte-pro-Byte-Vergleich, der nächsten acht Byte Werte.If performs a byte-by-byte comparison of the next eight Byte values. Wenn sie das erste ungleichen Paar trifft, wird das Ergebnis zurückgegeben.When it encounters the first unequal pair, it returns the result. Andernfalls wird 0, um anzugeben, dass die beiden Guid Werte gleich sind.Otherwise, it returns 0 to indicate that the two Guid values are equal.

Beachten Sie, die die letzten acht Bytes in eine Zeichenfolgendarstellung von Vorkommen einer Guid in umgekehrter Reihenfolge von niedrige Byte zu hohen Byte.Note that the final eight bytes appear in the string representation of a Guid in reverse order, from low byte to high byte. Z. B. in eine Zeichenfolgendarstellung der Guid Wert "01e75c83-c6f5-4192-b57e-7427cec5560d", die letzten acht Bytes sind "b57e 7427cec5560d."For example, in the string representation of the Guid value "01e75c83-c6f5-4192-b57e-7427cec5560d", the final eight bytes are "b57e-7427cec5560d." Das heißt, verglichen werden die letzten acht Bytes auf Byte-pro-Byte-Basis von links nach rechts beginnend mit 0xb5 festgelegt ist.In other words, the final eight bytes are compared on a byte-by-byte basis from left to right starting with 0xb5.

Wenn zwei GUIDs gleich Werte für eine Komponente, vergleicht die Methode die nächste Komponente.If two GUIDs have equal values for a component, the method compares the next component. Wenn eine Komponente, deren Werte ungleich sind, gefunden wird, wird das Ergebnis zurückgegeben.When it finds a component whose values are unequal, it returns the result.

Diese Methode implementiert die System.IComparable<T> -Schnittstelle und führt etwas bessere Leistung als die Guid.CompareTo Methode, da es keine konvertieren die value Parameter, um eine Guid Wert.This method implements the System.IComparable<T> interface and performs slightly better than the Guid.CompareTo method because it does not have to convert the value parameter to a Guid value.

CompareTo(Object) CompareTo(Object) CompareTo(Object) CompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück.Compares this instance to a specified object and returns an indication of their relative values.

public:
 virtual int CompareTo(System::Object ^ value);
public int CompareTo (object value);
abstract member CompareTo : obj -> int
override this.CompareTo : obj -> int
Public Function CompareTo (value As Object) As Integer

Parameter

value
Object Object Object Object

Ein Vergleichsobjekt oder null.An object to compare, or null.

Gibt zurück

Eine Zahl mit Vorzeichen, die das Verhältnis zwischen dem Wert dieser Instanz und value angibt.A signed number indicating the relative values of this instance and value.

RückgabewertReturn value Beschreibung Description
Eine negative ganze ZahlA negative integer Diese Instanz ist kleiner als value.This instance is less than value.
ZeroZero Diese Instanz ist gleich value.This instance is equal to value.
Eine positive ganze ZahlA positive integer Diese Instanz ist größer als value, oder value ist null.This instance is greater than value, or value is null.

Implementiert

Ausnahmen

Beispiele

Im folgenden Beispiel wird die GuidAttribute Attribut einer Klasse eine GUID zugewiesen.The following example uses the GuidAttribute attribute to assign a GUID to a class. Der Wert dieser GUID abgerufen, durch den Aufruf der Attribute.GetCustomAttribute -Methode und übergeben die Value -Eigenschaft des zurückgegebenen GuidAttribute -Objekt an die Parse Methode.It retrieves the value of this GUID by calling the Attribute.GetCustomAttribute method and passing the Value property of the returned GuidAttribute object to the Parse method. Es vergleicht dann diese GUID mit einem Array von Werten.Then it compares that GUID with an array of values.

using System;
using System.Runtime.InteropServices;

[Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")]
public class Example
{
   public static void Main()
   {
      GuidAttribute guidAttr = (GuidAttribute) Attribute.GetCustomAttribute(typeof(Example), 
                                                      typeof(GuidAttribute));
      Guid guidValue = Guid.Parse(guidAttr.Value);
      Object[] values = { null , 16, 
                          Guid.Parse("01e75c83-c6f5-4192-b57e-7427cec5560d"),
                          guidValue };
      foreach (var value in values) {
         try {
            Console.WriteLine("{0} and {1}: {2}", guidValue, 
                              value == null ? "null" : value,
                              guidValue.CompareTo(value));
         }
         catch (ArgumentException) {
            Console.WriteLine("Cannot compare {0} and {1}", guidValue,
                              value == null ? "null" : value);
         }                     
      }                         
   }
}
// The example displays the following output:
//    936da01f-9abd-4d9d-80c7-02af85c822a8 and null: 1
//    Cannot compare 936da01f-9abd-4d9d-80c7-02af85c822a8 and 16
//    936da01f-9abd-4d9d-80c7-02af85c822a8 and 01e75c83-c6f5-4192-b57e-7427cec5560d: 1
//    936da01f-9abd-4d9d-80c7-02af85c822a8 and 936da01f-9abd-4d9d-80c7-02af85c822a8: 0
Imports System.Runtime.InteropServices

<Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")>
Module Example
   Public Sub Main()
      Dim guidAttr As GuidAttribute = CType(Attribute.GetCustomAttribute(GetType(Example), 
                                                      GetType(GuidAttribute)), GuidAttribute)
      Dim guidValue As Guid = Guid.Parse(guidAttr.Value)
      Dim values() As Object = { Nothing, 16, 
                               Guid.Parse("01e75c83-c6f5-4192-b57e-7427cec5560d"),
                               guidValue }
      For Each value In values
         Try
            Console.WriteLine("{0} and {1}: {2}", guidValue, 
                              If(value Is Nothing, "null", value),
                              guidValue.CompareTo(value))
         Catch e As ArgumentException
            Console.WriteLine("Cannot compare {0} and {1}", guidValue,
                              If(value Is Nothing, "null", value))
         End Try                     
      Next                         
   End Sub
End Module
' The example displays the following output:
'    936da01f-9abd-4d9d-80c7-02af85c822a8 and null: 1
'    Cannot compare 936da01f-9abd-4d9d-80c7-02af85c822a8 and 16
'    936da01f-9abd-4d9d-80c7-02af85c822a8 and 01e75c83-c6f5-4192-b57e-7427cec5560d: 1
'    936da01f-9abd-4d9d-80c7-02af85c822a8 and 936da01f-9abd-4d9d-80c7-02af85c822a8: 0

Hinweise

Die value -Parameter muss sein null oder eine Instanz von Guidist, andernfalls wird eine Ausnahme ausgelöst.The value parameter must be null or an instance of Guid; otherwise, an exception is thrown. Jede Instanz von Guid, unabhängig von seinem Wert wird als größer betrachtet null.Any instance of Guid, regardless of its value, is considered greater than null.

Die CompareTo Methode vergleicht die GUIDs, als wären sie Werte bereitgestellt, um die Guid Konstruktor wie folgt:The CompareTo method compares the GUIDs as if they were values provided to the Guid constructor, as follows:

  • Es vergleicht die Int32 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the Int32 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Er vergleicht die ersten Int16 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the first Int16 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Es vergleicht die zweite Int16 Werte und gibt ein Ergebnis zurück, wenn sie ungleich sind.It compares the second Int16 values, and returns a result if they are unequal. Wenn sie gleich sind, führt es den nächsten Vergleich.If they are equal, it performs the next comparison.

  • Wenn führt einen Byte-pro-Byte-Vergleich, der nächsten acht Byte Werte.If performs a byte-by-byte comparison of the next eight Byte values. Wenn sie das erste ungleichen Paar trifft, wird das Ergebnis zurückgegeben.When it encounters the first unequal pair, it returns the result. Andernfalls wird 0, um anzugeben, dass die beiden Guid Werte gleich sind.Otherwise, it returns 0 to indicate that the two Guid values are equal.

Wenn zwei GUIDs gleich Werte für eine Komponente, vergleicht die Methode die nächste Komponente.If two GUIDs have equal values for a component, the method compares the next component. Wenn eine Komponente, deren Werte ungleich sind, gefunden wird, wird das Ergebnis zurückgegeben.When it finds a component whose values are unequal, it returns the result.

Beachten Sie, die die letzten acht Bytes in eine Zeichenfolgendarstellung von Vorkommen einer Guid in umgekehrter Reihenfolge von niedrige Byte zu hohen Byte.Note that the final eight bytes appear in the string representation of a Guid in reverse order, from low byte to high byte. Z. B. in eine Zeichenfolgendarstellung der Guid Wert "01e75c83-c6f5-4192-b57e-7427cec5560d", die letzten acht Bytes sind "b57e 7427cec5560d."For example, in the string representation of the Guid value "01e75c83-c6f5-4192-b57e-7427cec5560d", the final eight bytes are "b57e-7427cec5560d."

Gilt für: