0

可能重复:
为什么 IEnumerable 接口上没有 ForEach 扩展方法?

为什么 ForEach 扩展方法在 ObservableCollections 类中不可用,而在 List 中可用?

4

3 回答 3

3

正如 JJohn 所说,这是设计使然。阅读Eric Lippert 的这篇文章了解更多信息。标准foreach循环也可以正常工作,并且通常更具可读性。

于 2012-06-10T14:19:48.497 回答
2

ForEach仅在任何其他集合中可用List<T>,而不在任何其他集合中可用。这只是设计决定。

于 2012-06-10T14:18:25.903 回答
0

Foreach 只能用于那些属于实现 IEnumerable 的类的对象。IEnumerable 是一个接口,它定义了一个方法 GetEnumerator,它返回一个 IEnumerator 接口,这反过来又允许对集合进行只读访问。实现 IEnumerable 的集合可以与 foreach 语句一起使用。

于 2012-06-10T14:59:28.553 回答