导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

Guid 结构

2013/12/13

表示全局唯一标识符 (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)。)
受保护的方法Finalize允许 Object 在垃圾回收器回收该对象之前尝试释放资源并执行其他清理操作。 (从 Object 继承。)
公共方法GetHashCode返回此实例的哈希代码。 (重写 ValueType.GetHashCode()。)
公共方法GetType获取当前实例的 Type (从 Object 继承。)
受保护的方法MemberwiseClone创建当前 Object 的浅表副本。 (从 Object 继承。)
公共方法静态成员NewGuid初始化 Guid 类的新实例。
公共方法静态成员Parse将 GUID 的字符串表示形式转换为等效的 Guid 值。
公共方法静态成员ParseExact将 GUID 的字符串表示形式转换为等效的 Guid 值,前提是该字符串采用的是指定格式。
公共方法ToByteArray返回包含此实例的值的 16 元素字节数组。
公共方法ToString()返回注册表格式的此实例值的 String 表示形式。 (重写 ValueType.ToString()。)
公共方法ToString(String)根据所提供的格式说明符,返回此 Guid 实例值的 String 表示形式。
公共方法ToString(String, IFormatProvider)根据所提供的格式说明符和区域性特定的格式信息,返回 Guid 类的此实例值的 String 表示形式。
公共方法静态成员TryParse将 GUID 的字符串表示形式转换为等效的 Guid 值。
公共方法静态成员TryParseExact将 GUID 的字符串表示形式转换为等效的 Guid 值,前提是该字符串采用的是指定格式。
返回顶部

  名称说明
公共运算符静态成员Equality指示两个指定的 Guid 对象的值是否相等。
公共运算符静态成员Inequality返回关于两个指定 Guid 对象的值是否不相等的指示。
返回顶部

  名称说明
公共字段静态成员EmptyGuid 类的只读实例,其值保证均为零。
返回顶部

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) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。

显示:
© 2015 Microsoft