在linq查询中返回特定类型的对象

时间:2013-04-23 16:41:41

标签: .net vb.net linq

我正在尝试编写一个返回特定类型的所有对象的linq查询。

如果我想购买轿车的所有车型,这样的工作会不会起作用?

Dim cars = From c In carFactory.GetAllcars()
           Select car = carFactory.GetAuto(c.ID)
           Where TypeOf (car) Is Sedan

2 个答案:

答案 0 :(得分:5)

这样可行,但返回类型仍为IEnumerable(Of Car)

相反,你可以写sequence.OfType(Of Sedan)();这将过滤掉非轿车返回IEnumerable(Of Sedan)

答案 1 :(得分:2)

 carFactory.GetAllcars().OfType<Sedan>().Select(car=>car.ID)