【发布时间】:2012-04-09 11:12:25
【问题描述】:
我可以用两种方式编写代码来实现我的目标,但想知道哪一种是最好的做法?
Collection<MyClass> obj = new Collection<MyClass>();
或
IEnumerable<MyClass> obj = new Collection<MyClass>();
【问题讨论】:
-
这是一个略有不同的问题,但却是一个相关的答案。 stackoverflow.com/questions/376708/…
-
还有 IList
和 ICollection 需要考虑! IEnumerable 可能是最灵活的,但有忘记它是延迟执行的风险,如果你不小心,可能会导致一些有趣的错误!重申一下 IList 和 ICollection 是安全的,IEnumerable 不是(导致重新生成集合,例如,如果从 DB 中生成,这会很昂贵),但如果只使用一次,它的性能很好/速度很快。