エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Guid 構造体

2013/12/12

グローバル一意識別子 (GUID) を表します。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

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

Guid 型で公開されるメンバーは以下のとおりです。

  名前説明
パブリック メソッドGuid(Byte[])指定したバイト配列を使用して、Guid クラスの新しいインスタンスを初期化します。
パブリック メソッドGuid(String)指定した文字列で表される値を使用して、Guid クラスの新しいインスタンスを初期化します。
パブリック メソッドGuid(Int32, Int16, Int16, Byte[])指定した整数とバイト配列を使用して、Guid クラスの新しいインスタンスを初期化します。
パブリック メソッドGuid(Int32, Int16, Int16, Byte, Byte, Byte, Byte, Byte, Byte, Byte, Byte)指定した整数およびバイトを使用して、Guid の新しいインスタンスを初期化します。
このページのトップへ

  名前説明
パブリック メソッドCompareTo(Guid)指定した Guid オブジェクトとこのインスタンスを比較し、これらの相対値を示す値を返します。
パブリック メソッドCompareTo(Object)指定されたオブジェクトとこのインスタンスを比較して、これらの相対値を示す値を返します。
パブリック メソッドEquals(Guid)このインスタンスと指定した Guid オブジェクトが同じ値を表しているかどうかを示す値を返します。
パブリック メソッドEquals(Object)指定されたオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (ValueType.Equals(Object) をオーバーライドします。)
プロテクト メソッドFinalizeObject がガベージ コレクションで再利用される前に、Object がリソースを解放して他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
パブリック メソッドGetHashCodeこのインスタンスのハッシュ コードを返します。 (ValueType.GetHashCode() をオーバーライドします。)
パブリック メソッドGetType現在のインスタンスの Type を取得します。 (Object から継承されます。)
プロテクト メソッドMemberwiseClone現在の Object の簡易コピーを作成します。 (Object から継承されます。)
パブリック メソッド静的メンバーNewGuidGuid クラスの新しいインスタンスを初期化します。
パブリック メソッド静的メンバーParseGUID の文字列形式を、等価の Guid 値に変換します。
パブリック メソッド静的メンバーParseExact文字列が指定の形式であれば、GUID の文字列形式を等価の Guid 値に変換します。
パブリック メソッドToByteArrayこのインスタンスの値を格納する 16 要素のバイト配列を返します。
パブリック メソッドToString()レジストリ形式のこのインスタンスの値を String 形式で返します。 (ValueType.ToString() をオーバーライドします。)
パブリック メソッドToString(String)指定した書式指定子に従って、この Guid インスタンスの値を String 形式で返します。
パブリック メソッドToString(String, IFormatProvider)指定した書式指定子と、カルチャ固有の書式情報に従って、Guid クラスのこのインスタンスの値を String 形式で返します。
パブリック メソッド静的メンバーTryParseGUID の文字列形式を、等価の Guid 値に変換します。
パブリック メソッド静的メンバーTryParseExact文字列が指定の形式であれば、GUID の文字列形式を等価の Guid 値に変換します。
このページのトップへ

  名前説明
パブリック演算子静的メンバーEquality2 つの指定された Guid オブジェクトの値が等しいかどうかを示します。
パブリック演算子静的メンバーInequality指定した 2 つの Guid オブジェクトの値が異なっているかどうかを示す値を返します。
このページのトップへ

  名前説明
パブリック フィールド静的メンバーEmpty値がすべて 0 であることが保証されている Guid クラスの読み取り専用インスタンス。
このページのトップへ

GUID は、一意な識別子が必要とされるコンピューターおよびネットワーク全体で使用できる 128 ビットの整数 (16 バイト) です。このような識別子は、重複する確率がかなり低くなっています。

次の例では、GuidAttribute クラスを使用して GUID をユーザー定義のクラスとインターフェイスに割り当てます。このクラスでは、Attribute.GetCustomAttribute メソッドを呼び出して GUID の値を取得し、取得した値を他の 2 つの 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

この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

リファレンス

表示:
© 2015 Microsoft