Guid的默认值是多少?

anc*_*hor 88 .net c# guid default-value

默认值为int0,for string为"",而为booleanfalse.有人可以澄清一下默认值guid是多少?

Pet*_*sen 98

您可以使用这些方法获取空guid.结果将是一个guid,其全部数字为0 - " 00000000-0000-0000-0000-000000000000".

new Guid()

default(Guid)

Guid.Empty
Run Code Online (Sandbox Code Playgroud)

  • 在较新的 C# 版本中,“default(Guid)”和“default”也相同。 (5认同)
  • Guid.Empty 不能用作编译时常量。所以你不能用它来默认参数。 (2认同)

Ham*_*jam 38

你可以用Guid.Empty.它是Guid结构的只读实例,其值为00000000-0000-0000-0000-000000000000

你也可以用它们代替

var g = new Guid();
var g = default(Guid);
Run Code Online (Sandbox Code Playgroud)

注意不要使用,Guid.NewGuid()因为它会生成一个新的Guid.

使用上面的一个选项,您和您的团队认为它更具可读性并坚持下去.不要在代码中混合使用不同的选项.我认为这Guid.Empty是最好的,因为new Guid()可能会让我们认为它正在产生一个新的指导,有些人可能不知道什么是价值default(Guid).


Dav*_*tts 19

GUID的默认值为空.(例如:00000000-0000-0000-0000-000000000000)

这可以使用Guid.Empty()或调用new Guid()

如果你想要一个新的GUID,你可以使用 Guid.NewGuid()

  • @anchor我注意到你从未接受过任何问题的答案.[这里 - 在StackExchange的FAQ中](http://meta.stackexchange.com/q/5234),您可以阅读如何接受答案以及为什么要这样做. (7认同)
  • @Genhis 我想他得到了他需要的东西,然后从地球上掉下来了哈哈 (3认同)

小智 8

为了扩展以上答案,您不能在方法,索引器或委托定义中将Guid默认值与Guid.Empty用作可选参数,因为它会给您带来编译时错误。使用default(Guid)new Guid()代替。