0
比方說,我有表LINQ到外部列表索引添加到內部元素
{ { 'a', 'b', 'c'}, {'d', 'e', 'f'} }
列表我怎樣才能突出這些窗體的平面列表:
{ {'a', 0}, {'b', 0}, {'c', 0}, {'d', 1}, {'e', 1}, {'f', 1}}
,其中第二每個結果元素的字段是內部列表的索引?
比方說,我有表LINQ到外部列表索引添加到內部元素
{ { 'a', 'b', 'c'}, {'d', 'e', 'f'} }
列表我怎樣才能突出這些窗體的平面列表:
{ {'a', 0}, {'b', 0}, {'c', 0}, {'d', 1}, {'e', 1}, {'f', 1}}
,其中第二每個結果元素的字段是內部列表的索引?
var result = outer.SelectMany((inner, index) => inner.Select(item => Tuple.Create(item, index)));
想通了......
var input = new []{ new []{'a', 'b', 'c'}, new []{'d', 'e', 'f'}};
var rez = input
.Select((list, listIdx) => new {list, listIdx})
.SelectMany(listAndIdx => listAndIdx.list
.Select(elem => new {elem, listAndIdx.listIdx}));
隨着你的使用元組,這將只針對.NET工作> = 4 – 2010-08-31 14:18:31
你可以很容易用自己的自定義類的元組或匿名類型。解決方案是一樣的。 – dtb 2010-08-31 14:19:34