首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用foreach遍历ListCollectionView

使用foreach遍历ListCollectionView
EN

Stack Overflow用户
提问于 2012-05-20 11:04:40
回答 1查看 2.7K关注 0票数 2

因为ListCollectionView不支持索引器(ex View),所以我发现遍历过滤/排序列表的唯一方法就是使用foreach。

1) foreach会确保视图中项目的顺序在迭代期间保持不变吗?如果没有,还有其他选择吗?

2)是否有强类型的ListCollectionView?我遗漏了很多linq扩展方法,并且有很多FindMaxThis、FindFirstThat……:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-05-20 12:38:11

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

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

代码语言:javascript
复制
var collection = new ListCollectionView(new List<int>());
var even = collection
    .Cast<int>()
    .Where(n => n%2 == 0);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10670483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档