本文由机器翻译。若要查看英语原文,请勾选“英语”复选框。 也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语

List<'T>.RemoveAll 方法 (Predicate<'T>)

 

移除与指定的谓词所定义的条件相匹配的所有元素。

命名空间:   System.Collections.Generic
程序集:  mscorlib(位于 mscorlib.dll)

member RemoveAll : 
        match:Predicate<'T> -> int

参数

match
Type: System.Predicate<'T>

Predicate<'T> 委托,用于定义要移除的元素应满足的条件。

返回值

Type: System.Int32

List<'T> 中移除的元素数。

Exception Condition
ArgumentNullException

matchnull

Predicate<'T> 是返回方法的委托 true 如果将对象传递给委托中定义的条件匹配。 当前元素 List<'T> 逐个传递给 Predicate<'T> 委托,并且与条件匹配的元素将从 List<'T>

此方法执行线性搜索;因此,此方法为 O (n) 操作,其中 nCount

下面的示例演示 RemoveAll 方法,并使用的其他几种方法 Predicate<'T> 泛型委托。

一个 List<'T> 的字符串创建,包含 8 个恐龙名称,其中 (位于位置 1 和 5) 两个以"saurus"结尾。 该示例还定义一个名为的搜索谓词方法 EndsWithSaurus, ,这样便可以接受一个字符串参数并返回一个布尔值,该值指示是否以"saurus"结尾的输入的字符串。

Find, ,FindLast, ,和 FindAll 方法用于在列表中搜索与搜索谓词方法。

RemoveAll 方法用于删除以"saurus"结尾的所有项。 它将从开始时,将每个元素传递给反过来遍历列表 EndsWithSaurus 方法。 如果移除此元素 EndsWithSaurus 方法将返回 true

System_CAPS_note说明

在 C# 和 Visual Basic 中,它不创建所需 Predicate<string> 委托 (Predicate(Of String) 在 Visual Basic 中) 显式。 这些语言推断上下文中,正确的委托,并自动创建。

最后, Exists 方法验证是否在列表中没有以"saurus"结尾的字符串。

目前没有可用的代码示例或不支持该语言。

通用 Windows 平台
自 8 起可用
.NET Framework
自 2.0 起可用
可移植类库
可移植 .NET 平台 中受支持
Silverlight
自 5.0 起可用
Windows Phone Silverlight
自 8.0 起可用
Windows Phone
自 8.1 起可用
返回页首
显示: