等效新Guid()和Guid.Empty

时间:2015-08-11 08:42:57

标签: c# guid

new Guid()Guid.Empty产生相同的结果(全0-guid(00000000-0000-0000-0000-000000000000)。

var guid = new Guid();
Console.WriteLine(guid);//00000000-0000-0000-0000-000000000000
var emptyGuid = Guid.Empty;
Console.WriteLine(emptyGuid);//00000000-0000-0000-0000-000000000000

这是两种不同的方式来做同样的事情吗?可读性的原因?或者我错过了什么?

1 个答案:

答案 0 :(得分:7)

Guidstruct。所有结构都有一个隐式默认构造函数,它将所有成员初始化为其默认值。在Guid中,您可以看到将其所有复合成员设置为0

Guid.Empty simply caches the default value通过调用默认构造函数:

public struct Guid : IFormattable, IComparable, IComparable<Guid>, IEquatable<Guid>
{
    public static readonly Guid Empty = new Guid();
}