使用linq创建更多值?

4 .net linq

我有一个IEnumerable<int>我可以打印出来的,我可以加倍(下面的代码).那不是问题.如何调整linq语句,以便获取这3个值并输出6个值?例如,值为double和half,因此值为12, 3, 16, 4, 8, 2.

foreach (var v in (new int[] { 6, 8, 4 }).Select(s=>s*2))
    Console.WriteLine(v);
Run Code Online (Sandbox Code Playgroud)

It'*_*ie. 8

你需要SelectMany:

foreach (var v in (new[] { 6, 8, 4 }).SelectMany(s => new[] { s * 2, s / 2 }))
    Console.WriteLine(v);
Run Code Online (Sandbox Code Playgroud)