2015-06-22 94 views
36

int的默认值为0,因为string为“”,布尔值为false。请有人澄清一下guid的默认值是什么?Guid的默认值是多少?

+3

默认'Guid'是'{00000000-0000-0000-0000-000000000000}'。它基本上是二进制零。 – Szer

+0

相关问题[我如何在C#中默认参数为Guid.Empty?](// stackoverflow.com/q/5117970) –

+0

本网站可以提供空的guid http:// 00000000-0000-0000-0000-000000000000。 com/ – Matthew

回答

9

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

这可以通过使用Guid.Empty()new Guid()

如果你想有一个新的GUID被调用,您可以使用Guid.NewGuid()

+0

Guid.empty做了很多非常感谢@dotctor – anchor

+3

@anchor我注意到你从来没有接受过任何对你的问题的回答。 [在这里 - 在StackExchange常见问题](http://meta.stackexchange.com/q/5234),你可以阅读你如何接受答案,为什么你应该这样做。 – Genhis

17

您可以使用Guid.Empty。它的GUID结构的00000000-0000-0000-0000-000000000000

价值的read-only instance,你也可以使用这些替代

var g = new Guid(); 
var g = default(Guid); 

当心不要用Guid.NewGuid(),因为它会产生一个新的GUID。

使用上面的选项之一,您和您的团队认为它更具可读性并坚持下去。不要在代码中混用不同的选项。我认为Guid.Empty是最好的,因为new Guid()可能会让我们认为它产生了一个新的guid,有些可能不知道default(Guid)的值是多少。

47

你可以使用这些方法来获得一个空的guid。结果将是一个所有数字为0的指导 - “00000000-0000-0000-0000-000000000000”。

new Guid() 

default(Guid) 

Guid.Empty 
2

为了上方延伸的回答,你不能Guid.Empty使用的Guid默认值作为方法,索引器或委托定义一个optional argument,因为它会给你编译时错误。改为使用default(Guid)new Guid()

相关问题