Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从拆分int数组中获得正确的输出_C# - Fatal编程技术网

C# 无法从拆分int数组中获得正确的输出

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

我一直盯着这个网站看各种各样的帖子,但我仍然没有弄清楚这一点

目标

要将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 };
      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我知道。:)