OfType运算符基于将集合中的元素强制转换为指定类型的能力来过滤筛选集合。
使用OfType运算符根据每个元素的类型筛选上述集合
IList mixedList = new ArrayList(); mixedList.Add(0); mixedList.Add("One"); mixedList.Add("Two"); mixedList.Add(3); mixedList.Add(new Student() { StudentID = 1, StudentName = "Bill" }); var stringResult = from s in mixedList.OfType() select s; var intResult = from s in mixedList.OfType() select s;
Dim stringResult = From s In mixedList.OfType(Of String)()
上面的示例查询将返回mixedList中类型为字符串的项目。执行后,stringResult包含以下元素:
One Two 0 3 Bill
您可以在linq方法语法中使用OfType <TResult>()扩展方法,如下所示。
var stringResult = mixedList.OfType<string>();
Dim stringResult = mixedList.OfType(Of String)
stringResult将包含以下元素。
One Two
Where 操作符根据谓词函数筛选集合。
OfType 操作符根据给定的类型对集合进行筛选。
Where 和 OfType 扩展方法可以在一个LINQ查询中被多次调用。