Guid Struktur
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine GUID dar (Globally Unique Identifier, globaler eindeutiger Bezeichner).
public value class Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
public value class Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, ISpanFormattable
public value class Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IParsable<Guid>, ISpanFormattable, ISpanParsable<Guid>
public value class Guid : IComparable, IFormattable
public struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
public readonly struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, ISpanFormattable
public readonly struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IParsable<Guid>, ISpanFormattable, ISpanParsable<Guid>
[System.Serializable]
public struct Guid : IComparable, IFormattable
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
type Guid = struct
interface IFormattable
type Guid = struct
interface ISpanFormattable
interface IFormattable
type Guid = struct
interface IFormattable
interface IParsable<Guid>
interface ISpanFormattable
interface ISpanParsable<Guid>
[<System.Serializable>]
type Guid = struct
interface IFormattable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type Guid = struct
interface IFormattable
Public Structure Guid
Implements IComparable, IComparable(Of Guid), IEquatable(Of Guid), IFormattable
Public Structure Guid
Implements IComparable, IComparable(Of Guid), IEquatable(Of Guid), ISpanFormattable
Public Structure Guid
Implements IComparable, IComparable(Of Guid), IEquatable(Of Guid), IParsable(Of Guid), ISpanFormattable, ISpanParsable(Of Guid)
Public Structure Guid
Implements IComparable, IFormattable
- Vererbung
- Attribute
- Implementiert
Beispiele
Im folgenden Beispiel wird die System.Runtime.InteropServices.GuidAttribute -Klasse verwendet, um einer Schnittstelle und einer benutzerdefinierten Klasse eine GUID zuzuweisen. Es ruft den Wert der GUID durch Aufrufen der GetCustomAttribute -Methode ab und vergleicht ihn mit zwei anderen GUIDs, um zu bestimmen, ob sie gleich sind.
using namespace System;
using namespace System::Runtime::InteropServices;
// Guid for the interface IMyInterface.
[Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")]
public interface class IMyInterface
{
public:
void MyMethod();
};
// Guid for the coclass MyTestClass.
[Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")]
public ref class MyTestClass: public IMyInterface
{
public:
virtual void MyMethod(){}
};
int main()
{
Attribute^ IMyInterfaceAttribute = Attribute::GetCustomAttribute( IMyInterface::typeid, GuidAttribute::typeid );
// The Value property of GuidAttribute returns a string.
System::Console::WriteLine( String::Concat( "IMyInterface Attribute: ", (dynamic_cast<GuidAttribute^>(IMyInterfaceAttribute))->Value ) );
// Using the string to create a guid.
Guid myGuid1 = Guid(dynamic_cast<GuidAttribute^>(IMyInterfaceAttribute)->Value);
// Using a byte array to create a guid.
Guid myGuid2 = Guid(myGuid1.ToByteArray());
// Equals is overridden to perform a value comparison.
if ( myGuid1.Equals( myGuid2 ) )
System::Console::WriteLine( "myGuid1 equals myGuid2" );
else
System::Console::WriteLine( "myGuid1 not equals myGuid2" );
// Equality operator can also be used to determine if two guids have same value.
if ( myGuid1 == myGuid2 )
System::Console::WriteLine( "myGuid1 == myGuid2" );
else
System::Console::WriteLine( "myGuid1 != myGuid2" );
}
// The example displays the following output:
// IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
// myGuid1 equals myGuid2
// myGuid1 == myGuid2
using System;
using System.Runtime.InteropServices;
// Guid for the interface IMyInterface.
[Guid("F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4")]
interface IMyInterface
{
void MyMethod();
}
// Guid for the coclass MyTestClass.
[Guid("936DA01F-9ABD-4d9d-80C7-02AF85C822A8")]
public class MyTestClass : IMyInterface
{
public void MyMethod() {}
public static void Main( string []args )
{
GuidAttribute IMyInterfaceAttribute = (GuidAttribute) Attribute.GetCustomAttribute(typeof(IMyInterface), typeof(GuidAttribute));
System.Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value );
// Use the string to create a guid.
Guid myGuid1 = new Guid(IMyInterfaceAttribute.Value );
// Use a byte array to create a guid.
Guid myGuid2 = new Guid(myGuid1.ToByteArray());
if (myGuid1.Equals(myGuid2))
System.Console.WriteLine("myGuid1 equals myGuid2");
else
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" );
else
System.Console.WriteLine( "myGuid1 != myGuid2" );
}
}
// The example displays the following output:
// IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
// myGuid1 equals myGuid2
// myGuid1 == myGuid2
open System
open System.Runtime.InteropServices
// Guid for the interface IMyInterface.
[<Guid "F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4">]
type IMyInterface =
abstract MyMethod: unit -> unit
// Guid for the coclass MyTestClass.
[<Guid "936DA01F-9ABD-4d9d-80C7-02AF85C822A8">]
type MyTestClass() =
interface IMyInterface with
member _.MyMethod() = ()
let IMyInterfaceAttribute =
Attribute.GetCustomAttribute(typeof<IMyInterface>, typeof<GuidAttribute>) :?> GuidAttribute
printfn $"IMyInterface Attribute: {IMyInterfaceAttribute.Value}"
// Use the string to create a guid.
let myGuid1 = Guid IMyInterfaceAttribute.Value
// Use a byte array to create a guid.
let myGuid2 = Guid(myGuid1.ToByteArray())
if myGuid1.Equals myGuid2 then
printfn "myGuid1 equals myGuid2"
else
printfn "myGuid1 does not equal myGuid2"
// Equality operator can also be used to determine if two guids have same value.
if myGuid1 = myGuid2 then
printfn "myGuid1 == myGuid2"
else
printfn "myGuid1 <> myGuid2"
// The example displays the following output:
// IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
// myGuid1 equals myGuid2
// myGuid1 == myGuid2
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 MyTestClass
Implements IMyInterface
Public Sub MyMethod() Implements IMyInterface.MyMethod
End Sub
Public Shared Sub Main()
Dim IMyInterfaceAttribute As GuidAttribute = CType(Attribute.GetCustomAttribute(GetType(IMyInterface), GetType(GuidAttribute)),
GuidAttribute)
Console.WriteLine("IMyInterface Attribute: " + IMyInterfaceAttribute.Value)
' Use the string to create a guid.
Dim myGuid1 As New Guid(IMyInterfaceAttribute.Value)
' Use a byte array to create a guid.
Dim myGuid2 As New Guid(myGuid1.ToByteArray())
If myGuid1.Equals(myGuid2) Then
Console.WriteLine("myGuid1 equals myGuid2")
Else
Console.WriteLine("myGuid1 does not equal myGuid2")
End If
' The equality operator can also be used to determine if two guids have same value.
If myGuid1.ToString() = myGuid2.ToString() Then
Console.WriteLine("myGuid1 == myGuid2")
Else
Console.WriteLine("myGuid1 != myGuid2")
End If
End Sub
End Class
' The example displays the following output:
' IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
' myGuid1 equals myGuid2
' myGuid1 == myGuid2
Beachten Sie, dass das Attribut in der GuidAttribute Regel in einer Anwendung verwendet wird, um einen Typ für COM verfügbar zu machen. Wenn Sie dieses Beispiel kompilieren, können Sie das Assemblyregistrierungstool (Regasm.exe) für die generierte Assembly ausführen, um Registrierungsdateien (REG) und Typbibliotheksdateien (.tlb) zu erstellen. Die REG-Datei kann verwendet werden, um die Co-Klasse in der Registrierung zu registrieren, und die TLB-Datei kann Metadaten für COM-Interop bereitstellen.
Hinweise
Eine GUID ist eine 128-Bit-Ganzzahl (16 Bytes), die überall dort verwendet werden kann, wo ein eindeutiger Bezeichner erforderlich ist. Ein solcher Bezeichner hat eine sehr geringe Wahrscheinlichkeit, dass er dupliziert wird.
Konstruktoren
Guid(Byte[]) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung des angegebenen Bytearrays. |
Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung der angegebenen Ganzzahlen und der angegebenen Bytes. |
Guid(Int32, Int16, Int16, Byte[]) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung der angegebenen Ganzzahlen und der angegebenen Bytes. |
Guid(ReadOnlySpan<Byte>) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung des von der angegebenen schreibgeschützten Bytespanne dargestellten Werts. |
Guid(String) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung des von der angegebenen Zeichenfolge dargestellten Werts. |
Guid(UInt32, UInt16, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte) |
Initialisiert eine neue Instanz der Guid-Struktur unter Verwendung der angegebenen Ganzzahlen und der angegebenen Bytes. |
Felder
Empty |
Eine schreibgeschützte Instanz der Guid-Struktur, in der alle Werte 0 (null) sind. |
Methoden
CompareTo(Guid) |
Vergleicht diese Instanz mit einem angegebenen Guid-Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
CompareTo(Object) |
Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
Equals(Guid) |
Gibt einen Wert zurück, der angibt, ob diese Instanz und ein angegebenes Guid-Objekt den gleichen Wert darstellen. |
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. |
NewGuid() |
Initialisiert eine neue Instanz der Guid-Struktur. |
Parse(ReadOnlySpan<Char>) |
Konvertiert eine schreibgeschützte Zeichenspanne, die eine GUID darstellt, in die entsprechende Guid-Struktur. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analysiert eine Spanne von Zeichen in einen Wert. |
Parse(String) |
Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur. |
Parse(String, IFormatProvider) |
Analysiert eine Zeichenfolge in einen Wert. |
ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>) |
Konvertiert die Zeichenspanne einer GUID unter der Voraussetzung, dass die Zeichenfolge das angegebene Format aufweist, in die entsprechende Guid-Struktur. |
ParseExact(String, String) |
Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat. |
ToByteArray() |
Gibt ein aus 16 Elementen bestehendes Bytearray zurück, das den Wert dieser Instanz enthält. |
ToString() |
Gibt eine Zeichenfolgendarstellung des Werts dieser Instanz im Registrierungsformat zurück. |
ToString(String) |
Gibt eine Zeichenfolgendarstellung des Werts dieser Guid-Instanz entsprechend dem angegebenen Formatbezeichner zurück. |
ToString(String, IFormatProvider) |
Gibt eine Zeichenfolgendarstellung des Werts dieser Instanz der Guid-Klasse entsprechend dem angegebenen Formatbezeichner und den angegebenen kulturspezifischen Formatinformationen zurück. |
TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>) |
Versucht, die aktuelle GUID-Instanz in die angegebene Zeichenspanne zu formatieren. |
TryParse(ReadOnlySpan<Char>, Guid) |
Konvertiert die angegebene schreibgeschützte Spanne von Zeichen, die die Darstellung einer GUID enthält, in die entsprechende Guid-Struktur. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, Guid) |
Versucht, eine Spanne von Zeichen in einen Wert zu analysieren. |
TryParse(String, Guid) |
Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur. |
TryParse(String, IFormatProvider, Guid) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid) |
Konvertiert die Spanne der Zeichen, die die GUID darstellen, in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge im angegebenen Format vorliegt. |
TryParseExact(String, String, Guid) |
Konvertiert die Zeichenfolgendarstellung einer GUID in die entsprechende Guid-Struktur, vorausgesetzt, dass die Zeichenfolge das angegebene Format hat. |
TryWriteBytes(Span<Byte>) |
Versucht, die aktuelle GUID-Instanz in eine Spanne von Bytes zu schreiben. |
Operatoren
Equality(Guid, Guid) |
Gibt an, ob die Werte von zwei angegebenen Guid-Objekten gleich sind. |
GreaterThan(Guid, Guid) |
Vergleicht zwei Werte, um zu bestimmen, welcher größer ist. |
GreaterThanOrEqual(Guid, Guid) |
Vergleicht zwei Werte, um zu bestimmen, welche größer oder gleich sind. |
Inequality(Guid, Guid) |
Gibt an, ob die Werte von zwei angegebenen Guid-Objekten gleich sind. |
LessThan(Guid, Guid) |
Vergleicht zwei Werte, um zu bestimmen, welcher kleiner ist. |
LessThanOrEqual(Guid, Guid) |
Vergleicht zwei Werte, um zu bestimmen, welcher kleiner oder gleich ist. |
Explizite Schnittstellenimplementierungen
IComparable.CompareTo(Object) |
Vergleicht diese Instanz mit einem angegebenen Guid-Objekt und gibt eine Angabe über das Verhältnis der entsprechenden Werte zurück. |
IFormattable.ToString(String, IFormatProvider) |
Gibt eine Zeichenfolgendarstellung des Werts dieser Instanz entsprechend dem angegebenen Formatspezifizierer und den angegebenen kulturspezifischen Formatinformationen zurück. |
ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider) |
Versucht, den Wert der aktuellen Instanz in die angegebene Zeichenspanne zu formatieren. |