我正在尝试编写一个返回特定类型的所有对象的linq查询。
如果我想购买轿车的所有车型,这样的工作会不会起作用?
Dim cars = From c In carFactory.GetAllcars()
Select car = carFactory.GetAuto(c.ID)
Where TypeOf (car) Is Sedan
答案 0 :(得分:5)
这样可行,但返回类型仍为IEnumerable(Of Car)
。
相反,你可以写sequence.OfType(Of Sedan)()
;这将过滤掉非轿车和返回IEnumerable(Of Sedan)
。
答案 1 :(得分:2)
carFactory.GetAllcars().OfType<Sedan>().Select(car=>car.ID)