有什么方法可以使用 LINQ 清除这种类型的循环吗?
List<Car> result;
List<string> makes;
List<string> models;
for (int i = 0; i < makes.Count() && i < models.Count(); i++)
{
result.Add(new Car() { Make = makes[i], Model = models[i] });
}
基本上,我正在寻找某种方法来将多个单独字段数组整理成由这些字段组成的单个对象数组。
最佳答案
您可以使用 Enumerable.Range
,如下所示:
List<Car> result = Enumerable.Range(0, Math.Min(makes.Count, models.Count))
.Select(i => new Car { Make = makes[i], Model = models[i] }).ToList();
如果 makes
和 models
总是包含相同数量的项目,您可以使用更紧凑的语法:
List<Car> result = makes.Select((make, i) => new Car { Make = make, Model = models[i] }).ToList();
关于c# - 我如何对此进行 LINQify?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/183856/