是否可以在 C# 中声明一个常量 Guid?
我知道我可以声明 a static readonly Guid
,但是是否有允许我编写的语法const Guid
?
是否可以在 C# 中声明一个常量 Guid?
我知道我可以声明 a static readonly Guid
,但是是否有允许我编写的语法const Guid
?
不可以。const
修饰符仅适用于“原始”类型(bool、int、float、double、long、decimal、short、byte)和字符串。基本上任何你可以声明为文字的东西。
将其声明为static readonly Guid
而不是const Guid
public static readonly Guid Users = new Guid("5C60F693-BEF5-E011-A485-80EE7300C695");
就是这样。
虽然您似乎无法做到这一点,但您可以在需要时对其进行解析:
const string _myGuidStr = "e6b86ea3-6479-48a2-b8d4-54bd6cbbdbc5";
但是不要使用上面的 guid,因为它完全属于我,我首先生成了它,所以我声明了上面这个特定 guid 的所有权!但我很慷慨——改用这个(我不喜欢它对我说话的方式,但当它闭嘴时,它总体上是一个很好的向导):284c694d-d9cc-446b-9701-b391876c8394
我这样做是这样的:
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); } }
}