gpt4 book ai didi

c# - 使用 foreach 遍历 ListCollectionView

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:52 24 4
gpt4 key购买 nike

由于 ListCollectionView 不支持索引器(例如 View[0]),我发现迭代过滤/排序列表的唯一方法是使用 foreach。

1) foreach 是否会确保在迭代期间保留 View 中项目的顺序?如果不能,还有什么选择?

2) 是否有强类型的ListCollectionView?我缺少很多 linq 扩展方法,并且有很多 FindMaxThis、FindFirstThat...:)

最佳答案

1) 当您将 foreach 与 ListCollectionView 一起使用时,您可能会从基础集合(InternalList 属性)中获得一个 Enumerator。如果您使用 List<> 的实例对其进行初始化,那么您可以非常确定枚举是有序的。

2) 有两种选择。首先,您可以使用内部列表并将其转换为强类型集合或将对它的引用存储在您的类中的某个位置。第二种是直接在 ListCollectionView 实例上使用 Cast<>。对于性能关键型应用,我会选择第一种方法。

var collection = new ListCollectionView(new List<int>());
var even = collection
.Cast<int>()
.Where(n => n%2 == 0);

关于c# - 使用 foreach 遍历 ListCollectionView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10670483/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com