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

本文关键字:ObservableCollections 中的 ForEach 扩展 方法 为什么 | 更新日期: 2023-09-27 18:36:53

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

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

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

正如JJohn所说,这是设计使然。阅读Eric Lippert的这篇文章以获取更多信息。标准foreach循环也同样有效,并且通常更具可读性。

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

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