等效 new Guid() 和 Guid.Empty 的目的
Purpose of equivalent new Guid() and Guid.Empty
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
这是做同一件事的两种不同方式吗?可读性原因?或者我遗漏了什么?
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();
}
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
这是做同一件事的两种不同方式吗?可读性原因?或者我遗漏了什么?
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();
}