使用 foreach 遍历 ListCollectionView

本文关键字:ListCollectionView 遍历 foreach 使用 | 更新日期: 2023-09-27 18:34:54

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

1( foreach 会确保在迭代过程中保留视图中项目的顺序吗?如果没有,还有什么选择?

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

使用 foreach 遍历 ListCollectionView

1(当你将foreach与ListCollectionView一起使用时,你可能会从基础集合(InternalList属性(中获得一个枚举器。如果使用List的实例初始化它<>则可以非常确定枚举将按顺序进行。

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

var collection = new ListCollectionView(new List<int>());
var even = collection
    .Cast<int>()
    .Where(n => n%2 == 0);
相关文章:
  • 没有找到相关文章