为什么ForEach扩展方法在C#中的ObservableCollections中不可用

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

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

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

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

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