导出 (0) 打印
全部展开
信息
您所需的主题如下所示。但此主题未包含在此库中。

List<T>.FindAll 方法

2013/12/13

检索与指定谓词定义的条件匹配的所有元素。

Namespace:  System.Collections.Generic
程序集:  mscorlib(位于 mscorlib.dll 中)

public List<T> FindAll(
	Predicate<T> match
)

参数

match
类型: System.Predicate<T>
Predicate<T> 委托,用于定义要搜索的元素应满足的条件。

返回值

类型: System.Collections.Generic.List<T>
如果找到,则为一个 List<T>,其中包含与指定谓词所定义的条件相匹配的所有元素;否则为一个空 List<T>

异常条件
ArgumentNullException

matchnull

Predicate<T> 是对方法的委托,如果传递给它的对象与委托中定义的条件匹配,则该方法返回 true。当前 List<T> 的元素被逐个传递给 Predicate<T> 委托,满足条件的元素被保存在返回的 List<T> 中。

此方法执行线性搜索;因此,此方法的运算复杂度是 O(n),其中 nCount

下面的示例演示 List<T> 类的查找方法。List<T> 类的示例包含 Book 类的 book 对象,该对象使用来自 Sample XML File:书 (LINQ to XML)。示例中的 FillList 方法使用 LINQ to XML 将 XML 中的值分析为 book 对象的属性值。

下表描述了为查找方法提供的示例。

方法

示例

Find(Predicate<T>)

使用 IDToFind 谓词委托,按 ID 来查找书。

C# 示例使用匿名委托。

FindAll(Predicate<T>)

使用 FindComputer 谓词委托来查找其 Genre 属性是“Computer”的所有书。

FindLast(Predicate<T>)

使用 PubBefore2001 谓词委托在发布日期早于 2001 的集合中查找最后一本书。

C# 示例使用匿名委托。

FindIndex(Predicate<T>)

使用 FindComputer 谓词委托来查找第一本计算机书的索引。

FindLastIndex(Predicate<T>)

使用 FindComputer 谓词委托来查找最后一本计算机书的索引。

FindIndex(Int32, Int32, Predicate<T>)

使用 FindComputer 谓词委托在集合的后半部分中查找第一本计算机书的索引。

FindLastIndex(Int32, Int32, Predicate<T>)

使用 FindComputer 谓词委托在集合的后半部分中查找最后一本计算机书的索引。

Windows Phone OS

受以下版本支持: 8.0

显示:
© 2014 Microsoft