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
这是两种不同的方式来做同样的事情吗?可读性的原因?或者我错过了什么?
答案 0 :(得分:7)
Guid
是struct
。所有结构都有一个隐式默认构造函数,它将所有成员初始化为其默认值。在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();
}