使用C#中的LINQ创建一个列表<t>,其中T为匿名类型

时间:2016-06-22 14:50:46

标签: c# linq anonymous-types

我们说我们有List<Item> dataItem类的定义如下:

public class Item
{
    public double Station { get; set; }
    public double Area { get; set; }

    ...
    // other properties present in the class

}

现在我们如何从List<T>中创建新的List<Item>,以便T是匿名类型,只有double Stationdouble Area为它的属性。

我知道如何将所有的电台和区域值提取到List<double> data2,但我想要的是不同的。

var data2 = data
    .SelectMany(x => new[] { x.Station, x.Area })
    .ToList();

1 个答案:

答案 0 :(得分:7)

我认为你需要的是......

var data2 = data
    .Select(x => new { x.Station, x.Area })
    .ToList();

此处您不需要SelectMany,通常用于展平层次结构。