Guid Estructura

Definición

Representa un identificador único global (GUID).Represents a globally unique identifier (GUID).

public value class Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public struct Guid : IComparable, IComparable<Guid>, IEquatable<Guid>, IFormattable
type Guid = struct
    interface IFormattable
Public Structure Guid
Implements IComparable, IComparable(Of Guid), IEquatable(Of Guid), IFormattable
Herencia
Atributos
Implementaciones

Ejemplos

En el ejemplo siguiente se usa la clase System.Runtime.InteropServices.GuidAttribute para asignar un GUID a una interfaz y a una clase definida por el usuario.The following example uses the System.Runtime.InteropServices.GuidAttribute class to assign a GUID to an interface and to a user-defined class. Recupera el valor del GUID mediante una llamada al método GetCustomAttribute y lo compara con otros dos GUID para determinar si son iguales.It retrieves the value of the GUID by calling the GetCustomAttribute method, and compares it with two other GUIDs to determine whether they are equal.

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

Tenga en cuenta que el atributo GuidAttribute se utiliza normalmente en una aplicación para exponer un tipo a COM.Note that the GuidAttribute attribute is typically used in an application to expose a type to COM. Si compila este ejemplo, puede ejecutar la herramienta de registro de ensamblados (Regasm. exe) en el ensamblado generado para crear archivos de registro (. reg) y de biblioteca de tipos (. tlb).If you compile this example, you can run the Assembly Registration tool (Regasm.exe) on the generated assembly to create registry (.reg) and type library (.tlb) files. El archivo. reg se puede usar para registrar la coclase en el registro y el archivo. tlb puede proporcionar metadatos para la interoperabilidad COM.The .reg file can be used to register the coclass in the registry, and the .tlb file can provide metadata for COM interop.

Comentarios

Un GUID es un entero de 128 bits (16 bytes) que se puede usar en todos los equipos y redes siempre que se necesite un identificador único.A GUID is a 128-bit integer (16 bytes) that can be used across all computers and networks wherever a unique identifier is required. Este tipo de identificador tiene una probabilidad muy baja de ser duplicada.Such an identifier has a very low probability of being duplicated.

Constructores

Guid(Byte[])

Inicializa una nueva instancia de la estructura Guid usando la matriz de bytes especificada.Initializes a new instance of the Guid structure by using the specified array of bytes.

Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Inicializa una nueva instancia de la estructura Guid usando los enteros y bytes especificados.Initializes a new instance of the Guid structure by using the specified integers and bytes.

Guid(Int32, Int16, Int16, Byte[])

Inicializa una nueva instancia de la estructura Guid usando la matriz de enteros y bytes especificada.Initializes a new instance of the Guid structure by using the specified integers and byte array.

Guid(ReadOnlySpan<Byte>)

Inicializa una nueva instancia de la estructura Guid usando el valor representado por el intervalo de bytes de solo lectura especificado.Initializes a new instance of the Guid structure by using the value represented by the specified read-only span of bytes.

Guid(String)

Inicializa una nueva instancia de la estructura Guid usando el valor representado por la cadena especificada.Initializes a new instance of the Guid structure by using the value represented by the specified string.

Guid(UInt32, UInt16, Byte, UInt16, Byte, Byte, Byte, Byte, Byte, Byte, Byte)

Inicializa una nueva instancia de la estructura Guid usando los enteros y bytes sin firmar especificados.Initializes a new instance of the Guid structure by using the specified unsigned integers and bytes.

Campos

Empty

Instancia de solo lectura de la estructura Guid cuyo valor es todo ceros.A read-only instance of the Guid structure whose value is all zeros.

Métodos

CompareTo(Guid)

Compara esta instancia con un objeto Guid especificado y devuelve una indicación de los valores relativos.Compares this instance to a specified Guid object and returns an indication of their relative values.

CompareTo(Object)

Compara esta instancia con un objeto especificado y devuelve una indicación de los valores relativos.Compares this instance to a specified object and returns an indication of their relative values.

Equals(Guid)

Devuelve un valor que indica si esta instancia y un objeto Guid especificado representan el mismo valor.Returns a value indicating whether this instance and a specified Guid object represent the same value.

Equals(Object)

Devuelve un valor que indica si esta instancia es igual que un objeto especificado.Returns a value that indicates whether this instance is equal to a specified object.

GetHashCode()

Devuelve el código hash de esta instancia.Returns the hash code for this instance.

NewGuid()

Inicializa una nueva instancia de la estructura Guid.Initializes a new instance of the Guid structure.

Parse(ReadOnlySpan<Char>)

Convierte un intervalo de caracteres de solo lectura que representa un GUID en la estructura Guid equivalente.Converts a read-only character span that represents a GUID to the equivalent Guid structure.

Parse(String)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente.Converts the string representation of a GUID to the equivalent Guid structure.

ParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>)

Convierte la representación de intervalo de caracteres de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado.Converts the character span representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

ParseExact(String, String)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado.Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

ToByteArray()

Devuelve una matriz de bytes de 16 elementos que contiene el valor de esta instancia.Returns a 16-element byte array that contains the value of this instance.

ToString()

Devuelve una representación de cadena del valor de esta instancia con formato del Registro.Returns a string representation of the value of this instance in registry format.

ToString(String)

Devuelve una representación de cadena del valor de esta instancia de Guid, de acuerdo con el especificador de formato proporcionado.Returns a string representation of the value of this Guid instance, according to the provided format specifier.

ToString(String, IFormatProvider)

Devuelve una representación de cadena del valor de esta instancia de la clase Guid, de acuerdo con el especificador de formato proporcionado y la información de formato específica de la referencia cultural.Returns a string representation of the value of this instance of the Guid class, according to the provided format specifier and culture-specific format information.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>)

Intenta dar formato a la instancia de GUID actual en el intervalo de caracteres especificado.Tries to format the current GUID instance into the provided character span.

TryParse(ReadOnlySpan<Char>, Guid)

Convierte el intervalo de caracteres de solo lectura especificado que contiene la representación de un GUID en la estructura Guid equivalente.Converts the specified read-only span of characters containing the representation of a GUID to the equivalent Guid structure.

TryParse(String, Guid)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente.Converts the string representation of a GUID to the equivalent Guid structure.

TryParseExact(ReadOnlySpan<Char>, ReadOnlySpan<Char>, Guid)

Convierte el intervalo de caracteres que representa el GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado.Converts span of characters representing the GUID to the equivalent Guid structure, provided that the string is in the specified format.

TryParseExact(String, String, Guid)

Convierte la representación de cadena de un identificador GUID en la estructura Guid equivalente, siempre y cuando la cadena tenga el formato especificado.Converts the string representation of a GUID to the equivalent Guid structure, provided that the string is in the specified format.

TryWriteBytes(Span<Byte>)

Intenta escribir la instancia de GUID actual en un intervalo de bytes.Tries to write the current GUID instance into a span of bytes.

Operadores

Equality(Guid, Guid)

Indica si los valores de los dos objetos Guid especificados son iguales.Indicates whether the values of two specified Guid objects are equal.

Inequality(Guid, Guid)

Indica si los valores de los dos objetos Guid especificados no son iguales.Indicates whether the values of two specified Guid objects are not equal.

Implementaciones de interfaz explícitas

IComparable.CompareTo(Object)

Compara esta instancia con un objeto Guid especificado y devuelve una indicación de los valores relativos.Compares this instance to a specified Guid object and returns an indication of their relative values.

IFormattable.ToString(String, IFormatProvider)

Devuelve una representación de cadena del valor de esta instancia de acuerdo con el especificador de formato proporcionado y la información de formato específica de la referencia cultural.Returns a string representation of the value of this instance, according to the provided format specifier and culture-specific format information.

Se aplica a