小编典典

在C#中过滤集合

c#

我正在寻找一种非常快速的方法来过滤C#中的集合。我目前正在使用通用的List 集合,但是如果它们的性能更好,则可以使用其他结构。

当前,我只是创建一个新的List 并循环遍历原始列表。如果过滤条件匹配,我将副本放入新列表。

有一个更好的方法吗?有没有一种方法可以进行过滤,所以不需要临时列表?


阅读 447

收藏
2020-05-19

共1个答案

小编典典

如果您使用的是C#3.0,则可以使用linq,效果更好,更优雅:

List<int> myList = GetListOfIntsFromSomewhere();

// This will filter out the list of ints that are > than 7, Where returns an
// IEnumerable<T> so a call to ToList is required to convert back to a List<T>.
List<int> filteredList = myList.Where( x => x > 7).ToList();

如果找不到.Where,则意味着您需要using System.Linq;在文件顶部导入。

2020-05-19