无法从拆分int数组

时间:2017-02-10 16:26:59

标签: c#

我在这个网站上看到各种各样的线索,我仍然没有做到这一点。

目标

想要将数组拆分为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]);
        }
     }

有人能指出我正确的方向吗?

由于

2 个答案:

答案 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]}]");