【发布时间】:2015-01-10 13:05:36
【问题描述】:
返回 IList 与 List 或 IEnumerable 与 List 有什么区别。
我想知道哪个更好返回。
当我们需要使用一个时,它会对性能产生什么影响?
【问题讨论】:
-
基本上,如果您使用 IList 或 IEnumerable 作为返回类型,则可以返回任何实现这些接口的对象。如果你指定一个具体的类,那么你只能返回那个特定的类型。
-
有一些guidelines。编写高性能代码的最佳方式是编写简单易懂的代码,并拥有实际的性能目标。编写完所有内容后,测量性能,并且只有在性能不够好时,您才应该考虑避免“简单、可理解” - 但请确保您还测量了性能较差的地方和把注意力集中在那里。我从来没有遇到过更改返回数据类型会产生重大影响的情况。
-
在性能方面,你允许你的函数返回哪种类型并不重要,重要的是你返回的是什么具体的对象。
-
感谢 Damien 分享“收藏指南”,这是一篇非常棒的文章。
-
@DavidKlempfner 在高层次思考时,这对我来说非常有趣且不直观(尽管非常有意义),感谢您的链接
标签: c# asp.net .net asp.net-mvc vb.net