我在这个网站上看到各种各样的线索,我仍然没有做到这一点。
目标
想要将数组拆分为3组
问题
我正在收到输出......
1
4
7
而不是......
[1,2,3]
[4,5,6]
[7,8,9]
第一次尝试
static void Main(string[] args)
{
int[] arraya = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
Array.Sort(arraya);
int a = 0;
int divideBya = 3;
var resulta = arraya.GroupBy(s => a++ / divideBya).Select(g => g.ToArray()).ToArray();
foreach(var item in resulta)
{
Console.WriteLine("{0}", item[0]);
}
}
第二次尝试
static void Main(string[] args)
{
int u = 0;
int divideByb = 3;
IEnumerable<List<int>> groupedObjects = Enumerable.Range(1, 9).GroupBy(x => u++ / divideByb)
.Select(group => group.ToList()).ToList();
foreach (var item in groupedObjects)
{
Console.WriteLine("{0}", item[0]);
}
}
有人能指出我正确的方向吗?
由于
答案 0 :(得分:4)
您的代码似乎差不多正确。你的主要问题是你的输出:
foreach (var item in groupedObjects)
{
Console.WriteLine("{0}", item[0]);
}
您只输出每个数组的第一个元素。试试这个:
foreach (var items in groupedObjects)
Console.WriteLine(string.Join(", ", items));
答案 1 :(得分:0)
尝试将您的writeline语句更改为:
Console.WriteLine($"[{item[0]},{item[1]},{item[2]}]");