Guid 구조체

정의

GUID(Globally Unique IDentifier)를 나타냅니다.

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
상속
특성
구현

예제

다음 예제에서는 클래스를 System.Runtime.InteropServices.GuidAttribute 사용하여 인터페이스 및 사용자 정의 클래스에 GUID를 할당합니다. 메서드를 호출 GetCustomAttribute 하여 GUID 값을 검색하고 다른 두 GUID와 비교하여 동일한지 여부를 확인합니다.

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

GuidAttribute com 형식을 노출 하는 애플리케이션 특성은 일반적으로 사용 이 예제를 컴파일하는 경우 생성된 어셈블리에서 어셈블리 등록 도구(Regasm.exe) 를 실행하여 레지스트리(.reg) 및 형식 라이브러리(.tlb) 파일을 만들 수 있습니다. .reg 파일을 사용하여 레지스트리에 coclass를 등록할 수 있으며 .tlb 파일은 COM interop에 대한 메타데이터를 제공할 수 있습니다.

설명

GUID는 고유 식별자가 필요한 모든 컴퓨터 및 네트워크에서 사용할 수 있는 128비트 정수(16바이트)입니다. 이러한 식별자는 중복될 확률이 매우 낮습니다.

생성자

Guid(Byte[])

지정된 바이트 배열을 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

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

지정된 정수 및 바이트를 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

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

지정된 정수 및 바이트 배열을 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

Guid(ReadOnlySpan<Byte>)

지정된 읽기 전용 바이트 범위가 나타내는 값을 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

Guid(String)

지정된 문자열이 나타내는 값을 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

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

지정된 부호 없는 정수 및 바이트를 사용하여 Guid 구조체의 새 인스턴스를 초기화합니다.

필드

Empty

모든 값이 0인 Guid 구조체의 읽기 전용 인스턴스입니다.

메서드

CompareTo(Guid)

이 인스턴스를 지정된 Guid 개체와 비교하여 상대 값의 표시를 반환합니다.

CompareTo(Object)

이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.

Equals(Guid)

이 인스턴스의 값과 지정된 Guid 개체의 값이 같은지를 나타내는 값을 반환합니다.

Equals(Object)

이 인스턴스가 지정된 개체와 같은지를 나타내는 값을 반환합니다.

GetHashCode()

이 인스턴스의 해시 코드를 반환합니다.

NewGuid()

Guid 구조체의 새 인스턴스를 초기화합니다.

Parse(ReadOnlySpan<Char>)

GUID를 나타내는 읽기 전용 문자 범위를 해당하는 Guid 구조체로 변환합니다.

Parse(ReadOnlySpan<Char>, IFormatProvider)

문자 범위를 값으로 구문 분석합니다.

Parse(String)

GUID의 문자열 표현을 해당 Guid 구조체로 변환합니다.

Parse(String, IFormatProvider)

문자열을 값으로 구문 분석합니다.

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

문자열이 지정된 서식인 경우 GUID의 문자 범위 표현을 해당 Guid 구조체로 변환합니다.

ParseExact(String, String)

문자열이 지정된 서식인 경우 GUID의 문자열 표현을 해당 Guid 구조체로 변환합니다.

ToByteArray()

이 인스턴스의 값이 들어 있는, 16개 요소로 구성된 바이트 배열을 반환합니다.

ToString()

레지스트리 형식의 이 인스턴스 값에 대한 문자열 표현을 반환합니다.

ToString(String)

제공된 서식 지정자에 따라 이 Guid 인스턴스의 값에 대한 문자열 표현을 반환합니다.

ToString(String, IFormatProvider)

제공된 서식 지정자 및 문화권별 서식 정보에 따라 Guid 클래스의 이 인스턴스 값에 대한 문자열 표현을 반환합니다.

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

현재 GUID 인스턴스의 형식을 제공된 문자 범위로 지정하려고 시도합니다.

TryParse(ReadOnlySpan<Char>, Guid)

GUID의 표현을 포함하는 지정된 읽기 전용 문자 범위를 해당하는 Guid 구조체로 변환합니다.

TryParse(ReadOnlySpan<Char>, IFormatProvider, Guid)

문자 범위를 값으로 구문 분석하려고 시도합니다.

TryParse(String, Guid)

GUID의 문자열 표현을 해당 Guid 구조체로 변환합니다.

TryParse(String, IFormatProvider, Guid)

문자열을 값으로 구문 분석하려고 시도합니다.

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

문자열이 지정된 형식인 경우 GUID를 나타내는 문자 범위를 해당하는 Guid 구조체로 변환합니다.

TryParseExact(String, String, Guid)

문자열이 지정된 서식인 경우 GUID의 문자열 표현을 해당 Guid 구조체로 변환합니다.

TryWriteBytes(Span<Byte>)

현재 GUID 인스턴스를 바이트 범위에 쓰려고 시도합니다.

연산자

Equality(Guid, Guid)

지정된 두 Guid 개체의 값이 같은지 여부를 나타냅니다.

GreaterThan(Guid, Guid)

두 값을 비교하여 더 큰 값을 결정합니다.

GreaterThanOrEqual(Guid, Guid)

두 값을 비교하여 크거나 같은 값을 결정합니다.

Inequality(Guid, Guid)

지정된 두 Guid 개체의 값이 같지 않은지 여부를 나타냅니다.

LessThan(Guid, Guid)

두 값을 비교하여 더 적은 값을 결정합니다.

LessThanOrEqual(Guid, Guid)

두 값을 비교하여 어느 값이 작거나 같은지 확인합니다.

명시적 인터페이스 구현

IComparable.CompareTo(Object)

이 인스턴스를 지정된 Guid 개체와 비교하여 상대 값의 표시를 반환합니다.

IFormattable.ToString(String, IFormatProvider)

제공된 형식 지정자 및 문화권별 형식 정보에 따라 이 인스턴스 값의 문자열 표현을 반환합니다.

ISpanFormattable.TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

현재 인스턴스의 값을 제공된 문자 범위로 서식을 지정하려고 시도합니다.

적용 대상