为什么无参数 Guid 构造函数生成一个空 GUID,而不是像 Guid.NewGuid() 那样默认生成一个?
空 Guid 是否有特殊用途?
最佳答案
Why does the parameterless Guid constructor generate an empty GUID rather than default to a generated one as with Guid.NewGuid()?
简短回答:因为语言/运行时没有让 Guid 类型的设计者定义默认构造函数。
“默认构造”结构的值为零不仅是约定俗成的,而且您根本无法为结构定义默认构造函数。当您说 new Guid() 时,运行时会为您提供一个新对象,其中所有字段都被初始化为其默认值:http://msdn.microsoft.com/en-us/library/ah19swz4%28VS.71%29.aspx
可以在这里找到一些基本原理:https://web.archive.org/web/20131102220804/http://www.yoda.arachsys.com/csharp/faq/#struct.constructors
关于c# - 为什么无参数的 Guid 构造函数会生成一个空的 GUID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/401198/