C# 无法从拆分int数组中获得正确的输出
我一直盯着这个网站看各种各样的帖子,但我仍然没有弄清楚这一点 目标 要将int数组拆分为3组 问题 我得到一个输出C# 无法从拆分int数组中获得正确的输出,c#,C#,我一直盯着这个网站看各种各样的帖子,但我仍然没有弄清楚这一点 目标 要将int数组拆分为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 }; Ar
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]);
}
}
第二次尝试
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]);
}
}
static void Main(字符串[]args)
{
int u=0;
int除以b=3;
IEnumerable groupedObjects=Enumerable.Range(1,9).GroupBy(x=>u++/divideByb)
.Select(group=>group.ToList()).ToList();
foreach(GroupedObject中的变量项)
{
WriteLine(“{0}”,第[0]项);
}
}
有人能给我指一下正确的方向吗
谢谢您的代码似乎几乎正确。您的主要问题是输出:
foreach (var item in groupedObjects)
{
Console.WriteLine("{0}", item[0]);
}
只输出每个数组的第一个元素。试试这个:
foreach (var items in groupedObjects)
Console.WriteLine(string.Join(", ", items));
您的代码似乎几乎正确。您的主要问题是输出:
foreach (var item in groupedObjects)
{
Console.WriteLine("{0}", item[0]);
}
只输出每个数组的第一个元素。试试这个:
foreach (var items in groupedObjects)
Console.WriteLine(string.Join(", ", items));
尝试将writeline语句更改为:
Console.WriteLine($"[{item[0]},{item[1]},{item[2]}]");
尝试将writeline语句更改为:
Console.WriteLine($"[{item[0]},{item[1]},{item[2]}]");
您的第一次尝试只是输出新数组“item[0]”的第一个索引。在您的writeline中,使用项[0],项[1]尝试“{0},{1},{2}”。物品[2]@Skintkingle-谢谢你解决了这个问题。我不知道。请考虑标记ReNES答案作为解决方案。这是一种更好的方式来完成我向你提出的建议@Skintkingle-好的,我会的。您的第一次尝试只是输出新数组“item[0]”的第一个索引。在您的writeline中,使用项[0],项[1]尝试“{0},{1},{2}”。物品[2]@Skintkingle-谢谢你解决了这个问题。我不知道。请考虑标记ReNES答案作为解决方案。这是一种更好的方式来完成我向你提出的建议@Skintkingle-好的,我会的。该死的,如果我写下我的评论作为回答就好了!:P@Skintkingle你的评论可以,是的,尽管Rene的解决方案更优雅,代码更好。@Andrew我知道。:)该死,要是我写下我的评论作为回答就好了P@Skintkingle你的评论可以,是的,尽管Rene的解决方案更优雅,代码更好。@Andrew我知道。:)