68

是否可以在 C# 中声明一个常量 Guid?

我知道我可以声明 a static readonly Guid,但是是否有允许我编写的语法const Guid

4

5 回答 5

72

不可以。const修饰符仅适用于“原始”类型(bool、int、float、double、long、decimal、short、byte)和字符串。基本上任何你可以声明为文字的东西。

于 2011-02-07T21:08:15.157 回答
49

将其声明为static readonly Guid而不是const Guid

于 2011-10-20T16:41:59.207 回答
35
public static readonly Guid Users = new Guid("5C60F693-BEF5-E011-A485-80EE7300C695");

就是这样。

于 2012-08-17T08:20:16.477 回答
22

虽然您似乎无法做到这一点,但您可以在需要时对其进行解析:

const string _myGuidStr = "e6b86ea3-6479-48a2-b8d4-54bd6cbbdbc5";

但是不要使用上面的 guid,因为它完全属于我,我首先生成了它,所以我声明了上面这个特定 guid 的所有权!但我很慷慨——改用这个(我不喜欢它对我说话的方式,但当它闭嘴时,它总体上是一个很好的向导):284c694d-d9cc-446b-9701-b391876c8394

于 2011-02-07T21:33:18.873 回答
7

我这样做是这样的:

public static class RecordTypeIds
{
    public const string USERS_TYPEID = "5C60F693-BEF5-E011-A485-80EE7300C695";
    public static Guid Users { get { return new Guid(EntityTypeIds.USERS_TYPEID); } }
}
于 2012-07-23T16:17:29.733 回答