为什么无参数的Guid构造函数生成一个空的GUID而不是像Guid.NewGuid()一样默认生成的GUID?
空Guid有特殊用途吗?
为什么无参数的Guid构造函数生成一个空的GUID而不是像Guid.NewGuid()一样默认生成的GUID?
简短回答:因为语言/运行时没有让Guid类型的设计者定义默认构造函数.
不仅传统的"默认构造"结构的值为零,您根本无法为结构定义默认构造函数.当您说新的Guid()时,运行时会为您提供一个新对象,其中所有字段都初始化为其默认值:http://msdn.microsoft.com/en-us/library/ah19swz4%28VS.71%29.aspx
一些基本原理可以在这里找到:http://www.yoda.arachsys.com/csharp/faq/#struct.constructors