내보내기(0) 인쇄
모두 확장
정보
요청한 주제가 아래에 표시됩니다. 그러나 이 주제는 이 라이브러리에 포함되지 않습니다.

Guid 구조체

2013-12-13

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

Namespace:  System
어셈블리:  mscorlib(mscorlib.dll)

public struct Guid : IComparable, IComparable<Guid>, 
	IEquatable<Guid>, IFormattable

Guid 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드Guid(Byte[])지정된 바이트 배열을 사용하여 Guid 클래스의 새 인스턴스를 초기화합니다.
Public 메서드Guid(String)지정된 문자열이 나타내는 값을 사용하여 Guid 클래스의 새 인스턴스를 초기화합니다.
Public 메서드Guid(Int32, Int16, Int16, Byte[])지정된 정수 및 바이트 배열을 사용하여 Guid 클래스의 새 인스턴스를 초기화합니다.
Public 메서드Guid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)지정된 정수 및 바이트를 사용하여 Guid 클래스의 새 인스턴스를 초기화합니다.
맨 위

  이름설명
Public 메서드CompareTo(Guid)이 인스턴스를 지정된 Guid 개체와 비교하여 상대 값의 표시를 반환합니다.
Public 메서드CompareTo(Object)이 인스턴스를 지정된 개체와 비교하여 상대 값의 표시를 반환합니다.
Public 메서드Equals(Guid)이 인스턴스의 값과 지정된 Guid 개체의 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드Equals(Object)이 인스턴스가 지정한 개체와 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Protected 메서드Finalize가비지 수집기에서 Object를 회수하기 전에 개체가 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨)
Public 메서드GetHashCode이 인스턴스에 대한 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Protected 메서드MemberwiseClone현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨)
Public 메서드정적 멤버NewGuidGuid 클래스의 새 인스턴스를 초기화합니다.
Public 메서드정적 멤버ParseGUID의 문자열 표현을 해당 Guid 값으로 변환합니다.
Public 메서드정적 멤버ParseExact문자열이 지정된 서식인 경우 GUID의 문자열 표현을 해당 Guid 값으로 변환합니다.
Public 메서드ToByteArray이 인스턴스의 값이 들어 있는, 16개 요소로 구성된 바이트 배열을 반환합니다.
Public 메서드ToString()레지스트리 형식의 이 인스턴스 값에 대한 String 표현을 반환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드ToString(String)제공된 형식 지정자에 따라 이 Guid 인스턴스의 값에 대한 String 표현을 반환합니다.
Public 메서드ToString(String, IFormatProvider)제공된 형식 지정자 및 culture별 형식 정보에 따라 Guid 클래스의 이 인스턴스 값에 대한 String 표현을 반환합니다.
Public 메서드정적 멤버TryParseGUID의 문자열 표현을 해당 Guid 값으로 변환합니다.
Public 메서드정적 멤버TryParseExact문자열이 지정된 서식인 경우 GUID의 문자열 표현을 해당 Guid 값으로 변환합니다.
맨 위

  이름설명
Public 연산자정적 멤버Equality지정된 두 Guid 개체의 값이 같은지 여부를 나타냅니다.
Public 연산자정적 멤버Inequality지정된 두 개의 Guid 개체의 값이 같지 않은지 여부를 나타내는 값을 반환합니다.
맨 위

  이름설명
Public 필드정적 멤버Empty모든 값이 항상 0인 Guid 클래스의 읽기 전용 인스턴스입니다.
맨 위

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

다음 예제에서는 GuidAttribute 클래스를 사용하여 GUID를 사용자 정의 클래스 및 인터페이스에 할당합니다. Attribute.GetCustomAttribute 메서드를 호출하여 GUID 값을 검색하고 이것을 다른 두 개의 GUID와 비교하여 같은지 여부를 판단합니다.


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 Example : IMyInterface
{
   // Run regasm on this assembly to create .reg and .tlb files.
   // Reg file can be used to register this coclass in the registry.
   // Tlb file will be used to do interop.

   public void MyMethod() { }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      // Example addresses the following in System.Runtime.InterOpServices.GuidAttribute.
      // How to specify the attribute on interface/coclass.
      // Retrieve the GuidAttribute from an interface/coclass.
      // Value property on GuidAttribute class.

      // Example addresses the following in System.Guid.
      // Constructor Guid(string).
      // Constructor Guid(ByteArray).
      // Equals.
      // Operator ==.
      // CompareTo.

      Attribute IMyInterfaceAttribute = Attribute.GetCustomAttribute(typeof(IMyInterface), typeof(GuidAttribute));

      // The Value property of GuidAttribute returns a string. 
      outputBlock.Text += "IMyInterface Attribute: " + ((GuidAttribute)IMyInterfaceAttribute).Value + "\n";

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

      // Equals is overridden and so value comparison is done though references are different.
      if (myGuid1.Equals(myGuid2))
         outputBlock.Text += "myGuid1 equals myGuid2" + "\n";
      else
         outputBlock.Text += "myGuid1 not equals myGuid2" + "\n";

      // Equality operator can also be used to determine if two guids have same value.
      if (myGuid1 == myGuid2)
         outputBlock.Text += "myGuid1 == myGuid2" + "\n";
      else
         outputBlock.Text += "myGuid1 != myGuid2" + "\n";

      // CompareTo returns 0 if the guids have same value.
      if (myGuid1.CompareTo(myGuid2) == 0)
         outputBlock.Text += "myGuid1 compares to myGuid2" + "\n";
      else
         outputBlock.Text += "myGuid1 does not compare to myGuid2" + "\n";

      System.Console.ReadLine();

      //Output.
      //IMyInterface Attribute: F9168C5E-CEB2-4faa-B6BF-329BF39FA1E4
      //myGuid1 equals myGuid2
      //myGuid1 == myGuid2
      //myGuid1 compares to myGuid2
   }
}


Windows Phone OS

지원되는 버전: 8.0, 7.1, 7.0

Windows Phone

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 모든 인스턴스 멤버는 스레드로부터 안전하지 않을 수 있습니다.

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft