C# 在常规列表中选择多个对象

C# 在常规列表中选择多个对象,c#,linq,C#,Linq,假设我们有一个汽车类,它有一些属性,其中之一就是发动机排量 我将所有汽车添加到一个通用列表中。如何使用linq标准选择多个对象 已尝试使用“选择多个”,但无法使其运行: var fastcars = mycars.SelectMany(car => car.Engine >= 2000); ps:通常我可以选择一个对象;例如: var selectedcar = mycars.First(car => car.Make == "Mercedes"); 编辑(最初误读): 尝

假设我们有一个汽车类,它有一些属性,其中之一就是发动机排量

我将所有汽车添加到一个通用列表中。如何使用linq标准选择多个对象

已尝试使用“选择多个”,但无法使其运行:

var fastcars = mycars.SelectMany(car => car.Engine >= 2000);
ps:通常我可以选择一个对象;例如:

var selectedcar = mycars.First(car => car.Make == "Mercedes");
编辑(最初误读):

尝试:


您可能会发现有助于您进一步了解LINQ。

使用一个简单的
Where
子句

var selectedcars = mycars.Where(car => car.Make == "Mercedes");
如果您想乘坐多辆车,则可以使用
take

var selectedcars = mycars.Where(car => car.Make == "Mercedes").Take(2);
您可以添加
ToList
ToArray
以分别获得对象的列表或数组。差不多

var selectedcarsList = mycars.Where(car => car.Make == "Mercedes").Take(2).ToList();

+1,但也许你可以添加
.ToList()
,这样他就可以得到一个实际的列表。好吧,OP并没有说他想要一个列表,只是说他从列表中选择了……我认为=应该是==也许这就是为什么投反对票的原因?(不是我)
var selectedcarsList = mycars.Where(car => car.Make == "Mercedes").Take(2).ToList();