筛选数据

更新:2007 年 11 月

筛选指将结果集限制为只包含那些满足指定条件的元素的操作。它又称为选择。

下图演示了对字符序列进行筛选的结果。筛选操作的谓词指定字符必须为“A”。

LINQ 筛选操作

下面一节中列出了执行选择的标准查询运算符方法。

方法

方法名

说明

C# 查询表达式语法

Visual Basic 查询表达式语法

更多信息

OfType

根据值强制转换为指定类型的能力选择值。

不适用。

不适用。

Enumerable.OfType<TResult>

Queryable.OfType<TResult>

Where

选择基于谓词函数的值。

where

Where

Enumerable.Where

Queryable.Where

查询表达式语法示例

下面的示例使用 where 子句(在 C# 中)或 Where 子句(在 Visual Basic 中)来从数组中筛选那些具有特定长度的字符串。

Dim words() As String = {"the", "quick", "brown", "fox", "jumps"}

Dim query = From word In words _
            Where word.Length = 3 _
            Select word

Dim sb As New System.Text.StringBuilder()
For Each str As String In query
    sb.AppendLine(str)
Next

' Display the results.
MsgBox(sb.ToString())

' This code produces the following output:

' the
' fox

string[] words = { "the", "quick", "brown", "fox", "jumps" };

IEnumerable<string> query = from word in words
                            where word.Length == 3
                            select word;

foreach (string str in query)
    Console.WriteLine(str);

/* This code produces the following output:

    the
    fox
*/

有关如何筛选数据的更多信息

Topic Location
如何:在运行时动态指定谓词筛选器(C# 编程指南) C# 程序员参考
where 子句(C# 参考) C# 程序员参考
如何:按任意字或字段排序或筛选文本数据 (LINQ) 语言集成查询 (LINQ)
如何:使用反射查询程序集的元数据 (LINQ) 语言集成查询 (LINQ)
如何:查询具有指定属性或名称的文件 语言集成查询 (LINQ)
如何:使用 LINQ 筛选查询结果 (Visual Basic) Visual Basic 语言参考
如何:在运行时动态指定谓词筛选器(C# 编程指南) dv_csref
where 子句(C# 参考) dv_csref
如何:按任意词或字段对文本数据进行排序或筛选 (LINQ) dv_Linq
如何:使用反射查询程序集的元数据 (LINQ) dv_Linq
如何:查询具有指定特性或名称的文件 dv_Linq
如何:使用 LINQ 筛选查询结果 (Visual Basic) dv_vbalr
如何:在运行时动态指定谓词筛选器(C# 编程指南) dv_csref
where 子句(C# 参考) dv_csref
如何:按任意词或字段对文本数据进行排序或筛选 (LINQ) dv_Linq
如何:使用反射查询程序集的元数据 (LINQ) dv_Linq
如何:查询具有指定特性或名称的文件 dv_Linq
如何:使用 LINQ 筛选查询结果 (Visual Basic) dv_vbalr

请参见

概念

标准查询运算符概述

参考

where 子句(C# 参考)

Where 子句 (Visual Basic)

System.Linq