假设,我有一个IEnumerable<Tuple<string, object>>和我想要枚举的每个元素的第一个元素由(几个)其他元素的列表:
Original enumerable: { { "a", obj1 }, { "b", obj2 } }
First-element replacement: a -> { "c", "d" }, b -> { "e", "f", "g" }
Result : { { "c", obj1 }, { "d", obj1 }, { "e", obj2 }, { "f" , obj2 }, { "g" , obj2 } }
Run Code Online (Sandbox Code Playgroud)
我怎样才能SelectMany以更好的方式实现这一目标
enumerable.SelectMany(item => ReplacementFunction(item.Item1).Select(newItem =>
new Tuple<string, object>(newItem, item.Item2)))
Run Code Online (Sandbox Code Playgroud)
好吧,我可能会使用查询表达式:
var query = from tuple in enumerable
from replacement in ReplacementFunction(tuple.Item1)
select Tuple.Create(replacement, tuple.Item2);
Run Code Online (Sandbox Code Playgroud)
但那基本上是一样的......
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |