从列表中获取变量列表(使用Linq?)

时间:2014-01-14 21:48:30

标签: c# linq list

有没有办法使用像linq这样的东西将这个吸气剂减少到大约一行?我做了搜索,没有找到任何东西。好奇。

private List<UserItem> userItems
{ 
    get 
    { 
        List<UserItem> list = new List<UserItem>();

        foreach (var item in items) {
            list.Add(item.UserItem);
        }

        return list;
    }
}

1 个答案:

答案 0 :(得分:5)

简单地:

get {
    return items.Select(x => x.UserItem).ToList();
}

Selecthttp://msdn.microsoft.com/en-us/library/bb548891(v=vs.110).aspx

的MSDN链接

基本上,它会将您想要的内容投射到新列表中。在上面的示例中,我们将UserItem集合中对象的每个items属性投影到列表中。