这是一些具有正确输出的示例代码
这个想法是我需要 6 行。我不在乎我有多少列。IEnumerable 是我的专栏。我希望第一行保存每个 IEnumerable 的第一个值。第二行保留第二行等。如果 IEnumerable/列中没有足够的值,则将 -1 作为占位符。
这段代码可以做到,但我确信我可以使用一个 linq 语句,而不是用这种方式实现它。知道如何使用 linq 做到这一点吗?
var mydata = new IEnumerable<int>[] { Enumerable.Range(2, 3), Enumerable.Range(5, 5), Enumerable.Range(7, 6), Enumerable.Range(3, 2) };
var temp = new List<int>[6];
for (int i = 0; i < 6; ++i)
temp[i] = new List<int>();
foreach (var v in mydata)
{
var len = v.Count();
int i;
for (i = 0; i < 6&&i<len; ++i)
{
temp[i].Add(v.ElementAt(i));
}
for (; i < 6; ++i)
temp[i].Add(-1);
}
foreach (var outer in temp)
{
foreach (var inner in outer)
{
Console.WriteLine(inner);
}
Console.WriteLine("---");
}