基于具有不同类型的另一个集合创建对象集合

时间:2017-01-27 12:05:15

标签: c# linq list loops collections

是否可以简化这些陈述?

List<YY> gss = new List<YY>();
foreach (var s in AA)
{
    gss.Add(new YY()
    {
         Color = s.Color,
         Offset = s.Offset
    });
}
SomeClass.ListYY = gss;

我相信它可能与LINQ,但我只是不知道如何。

2 个答案:

答案 0 :(得分:3)

SomeClass.ListYY = AA
    .Select(s => new YY() { Color = s.Color, Offset = s.Offset }).ToList();

对于AA中的每个s,选择一个新的YY并从s填充偏移和颜色 - 然后将结果转换为列表。

答案 1 :(得分:1)

SomeClass.ListYY = AA.Select(x => new YY { Color = x.Color, Offset = x.Offset }).ToList();