4
根据ReferenceSource,所述Version
类是sealed
,ICloneable
,IComparable
,IComparable<Version>
,IEquatable<Version>
。它也只存储int
的值。 .NET程序员为什么选择将这个类变成一个类而不是一个结构,是否有特定的原因?为什么有人需要null
版本?为什么.NET的版本是类而不是结构?
这里的字段声明块从ReferenceSource:
// AssemblyName depends on the order staying the same
private int _Major;
private int _Minor;
private int _Build = -1;
private int _Revision = -1;
他们甚至作出评论,称他们需要保持一致的领域。也许这只是我,但这真的是一个结构化的东西?
“struct”和“class”之间的区别不仅仅是允许一个“null”值...... –
@WillemVanOnsem OP显然知道这一点,因此问题中提到的所有细节,使这个类的行为大多像一个值。 –
@WillemVanOnsem我知道,但这是唯一的使用,我可以把它看作是一个类而不是一个结构... –