我有一个包含两个字段的简单结构; 一个存储一个对象,另一个存储DateTime.我这样做是因为我想在Dictionary中存储对象,但也有DateTime标记.
我有一个返回我的结构的方法,我现在已经确定该方法也应该能够返回null,所以我使我的结构可以为空.我现在想知道我是否应该让我的结构成为一个类,所以它是一个引用类型?
Gre*_*g D 10
在这种情况下,是的,使您的结构成为一个类可能更清晰.
至于理由,你实际上是在创造一个专业化的Tuple.值得注意的是,图书馆设计人员选择将.Net 4Tuple作为一个类而不是一个结构.(该页面是元组创建者并链接到各种元组实例类)
实际上要么是好的,只要它struct是不可变的.A DateTime和参考不足以使其超大.
我假设你使用它作为字典中的值(而不是键)?如果用作键,你需要重写Equals和GetHashCode(),不管structVS class.