私は持っていList<List>
ます。そこから1つのリストを取得したいと思います。
List<int> from List<List<SomeClass>()
forループは明らかな解決策ですが、パフォーマンスの観点から、より優れた、より洗練されたものが必要です。
List<List<Employee>> ValueLists;
List<int> Current= ValueLists.SelectMany(u=>u.Select(v=>v.EmployeeID));
これを試して:
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();
多分それはより明確になります。
それでも答えが得られません。詳細と実際のシナリオについては、編集された質問を参照してください。
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();
どうですか:
var list = listOfLists.SelectMany(x => x.EmployeeID).ToList();