当前位置:  开发笔记 > 编程语言 > 正文

我如何LINQify这个?

如何解决《我如何LINQify这个?》经验,为你挑选了1个好方法。

有没有办法用LINQ清理这种类型的循环?

  List result;
  List makes;
  List models;

  for (int i = 0; i < makes.Count() && i < models.Count(); i++)
  {
    result.Add(new Car() { Make = makes[i], Model = models[i] });
  }

基本上我正在寻找一些方法来将单个字段的多个数组整理成由这些字段组成的单个对象数组.



1> Bradley Grai..:

你可以使用Enumerable.Range,像这样:

List result = Enumerable.Range(0, Math.Min(makes.Count, models.Count))
    .Select(i => new Car { Make = makes[i], Model = models[i] }).ToList();

如果makesmodels始终包含相同数量的项,则可以使用更紧凑的语法:

List result = makes.Select((make, i) => new Car { Make = make, Model = models[i] }).ToList();

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有