【发布时间】:2012-05-09 22:24:05
【问题描述】:
我需要创建一个异构的List 对象(自定义类)。我的第一个想法是创建一个List<ISomeMarkerInterface>,但我很快了解到这不是我想要的。我的下一个想法是List<dynamic>,这似乎不是一个坏主意。但是,我正在做一些研究并遇到了这个article about boxing and unboxing,在这个例子中,他们基本上正在做我想要使用List<Object> 做的事情。
除了dynamic 将在运行时评估而Object 在编译时评估之外,List<dynamic> 和List<Object> 之间有什么区别?它们本质上不是一样的吗?
【问题讨论】:
-
为什么需要将异构对象存储在同一个列表中?只是好奇...
-
你应该寻找 dynamic vs object ,看看这个帖子,它可能会回复你的答案stackoverflow.com/questions/3442821/dynamic-vs-object-type
-
我有一个类,其中一个属性是与该类相关的项的集合,这些项的类型不同,但作为一个组相关。
-
顺便说一句,你能解释一下为什么
ISomeMarkerInterface不好? -
如果您想要的只是简单的 LINQ,您是否看过 Enumerable.OfType
() 和 List