我有一台List<List>。我想从中得到一个单独的列表。
List<int> from List<List<SomeClass>()For loop是一个显而易见的解决方案,但从性能的角度来看,我想要更好、更合格的解决方案。
List<List<Employee>> ValueLists;
List<int> Current= ValueLists.SelectMany(u=>u.Select(v=>v.EmployeeID));发布于 2012-07-02 15:20:18
试试这个:
var list = listOfLists.SelectMany(x => x).ToList();我不确定你到底想要什么额外的信息。您对问题所做的编辑几乎是完整的代码。
你应该写下:
List<int> Current =
ValueLists
.SelectMany(u => u.Select(v => v.EmployeeID))
.ToList();这可以写成这样:
var query =
from u in ValueLists
from v in u
select v.EmployeeID;
List<int> Current = query.ToList();也许这会让你更加清晰。
发布于 2012-07-02 15:32:37
仍然没有得到答案,请查看编辑后的问题了解更多详细信息和实际场景:
List<List<Employee>> ValueLists;
List<int> Current= ValueLists.SelectMany(u=>u.Select(v=>v.EmployeeID));您的方法不起作用,因为IEnumerable<int>不是List<int>。因此,您需要在最后使用ToList()。
这应该是可行的:
List<int> Current = ValueLists.SelectMany(u => u.Select(e => e.EmployeeID)).ToList();发布于 2012-07-02 16:11:15
下面是什么:
var list = listOfLists.SelectMany(x => x.EmployeeID).ToList();https://stackoverflow.com/questions/11289271
复制相似问题