代码之家  ›  专栏  ›  技术社区  ›  Charlie Gevious

可为空的结构与类

  •  13
  • Charlie Gevious  · 技术社区  · 15 年前

    我有一个包含两个字段的简单结构;一个存储对象,另一个存储日期时间。我这样做是因为我想将对象存储在字典中,但同时还带有日期时间戳。

    我有一个方法返回我的结构,现在我决定这个方法也应该能够返回空值,所以我把我的结构设置为空。我现在想知道是否应该将结构设为类,这样它就是引用类型?

    2 回复  |  直到 15 年前
        1
  •  10
  •   Greg D    15 年前

    在这种情况下,是的,使结构成为一个类可能更清楚。

    就正当性而言,你基本上是在创造一个 Tuple . 有趣的是,图书馆设计师选择了 .Net 4 Tuple 类而不是结构。(该页是元组创建者,并链接到各种元组实例类)

        2
  •  6
  •   Marc Gravell    15 年前

    在现实中,两者都应该是好的(只要 struct 是不变的)。一 DateTime 而且一个参考不应该足够大。

    我想你是把它当作 价值 (不是) 钥匙 )在字典里?如果用作密钥,则需要重写 Equals GetHashCode() 不管 结构 VS class .