为什么 ForEach 扩展方法在 C# 中的 ObservableCollections 中不可用
本文关键字:ObservableCollections 中的 ForEach 扩展 方法 为什么 | 更新日期: 2023-09-27 18:36:53
可能的重复项:
为什么 IEnumerable 接口上没有 ForEach 扩展方法?
为什么 ForEach 扩展方法在 ObservableCollections 类中不可用,而在 List 中可用?
正如JJohn所说,这是设计使然。阅读Eric Lippert的这篇文章以获取更多信息。标准foreach
循环也同样有效,并且通常更具可读性。
ForEach
仅在List<T>
中可用,在任何其他集合中不可用。这只是设计决策。
Foreach 只能用于那些属于实现 IEnumerable 的类的对象。IEnumerable 是一个接口,它定义一个返回 IEnumerator 接口的方法 GetEnumerator,这反过来又允许对集合进行只读访问。实现 IEnumerable 的集合可以与 foreach 语句一起使用。