【发布时间】:2012-06-05 21:33:48
【问题描述】:
属性的性能应该与字段类似,即使它们实际上是函数。关于任意IEnumerable 的预期性能可以说什么?
从属性中借用这个概念并说IEnumerable 应该与迭代数组或List<T> 执行大致相同是否公平?
或者,每次迭代都会发生任何事情是否可以:数据库访问、Web 服务调用、耗时的计算等。
【问题讨论】:
-
迭代是
O(n),用于一些神奇的未指定C。当然,类型系统不能说“需要多长时间”,而不是for (var i in list) { doStuff(i); }。这些是应该在文档中指定的软模糊规则。
标签: .net performance ienumerable