System.LINQ.Dynamic:选择(“new classname(...)”)到List <t>(或<t>的任何其他可枚举集合)</t> </t>

时间:2012-07-30 19:45:37

标签: c# linq select

What I want但不是做

var carsPartial = cars.Select("new(name, year)").ToList();

我想这样做:

var carsPartial = cars.Select<car>("new car(name, year)").ToList<car>();

再次感谢并在需要时要求澄清。

汽车类:

 public class car
{
    public string name { get; set; }
    public int year { get; set; }
}

什么是汽车:一堆汽车数据,其名称和年份有点像数据库。

2 个答案:

答案 0 :(得分:2)

您是否知道Select在编译时的通用部分?在你的例子中,已知,还是“动态”?如果它已知,那么你应该能够做到(没有测试):

var carsPartial = cars.Select("new car(name, year)").Cast<car>().ToList();

答案 1 :(得分:-1)

使用LINQ之类的东西:

var carsPartial = (from c in cars
  select new car {
    name = c.name,
    year = c.year
    }).ToList();

未完全测试......