2016-12-23 10 views
0

こんにちはみなさんは1から100の数字の配列を持っていて、それぞれのグループが25の数字を持つ4つのグループにグループ化したい。どうすればいいの?おかげグループ内の100個の数字を4つのグループにグループ化する#

static void Main(string[] args) 
     { 
      int[] array = new int[101]; 
      for (int i = 1; i <= 100; i++) 
      { 
       array[i] = i; Console.WriteLine(array[i]); 

      } 
      var s = array.GroupBy(x => array.Length % 25).Select(d => new { k = d.Key, v = d.OrderBy(f => f) }); 
      foreach (var item in s) 
      { 
       Console.WriteLine($"{item.k}"); 
       foreach (var item2 in item.v) 
       { 
        Console.WriteLine($"\t{item2}"); 
       } 
       Console.WriteLine("------------"); 
      }`enter code here` 

答えて

3

は、あなたの質問は漠然とです。

int[] array = Enumerable 
    .Range(1, 100) 
    .ToArray(); 

可能なグループ(インデックスで):値

int[][] result = array 
    .GroupBy(item => item % 4) 
    .Select(chunk => chunk 
    .ToArray()) 
    .ToArray(); 
によって

int[][] result = array 
    .Select((item, index) => new { 
    item = item, 
    index = index }) 
    .GroupBy(chunk => chunk.index % 4) 
    .Select(chunk => chunk 
    .Select(x => x.item) 
    .ToArray()) 
    .ToArray(); 

それとも

int[][] result = array 
    .Select((item, index) => new { 
    item = item, 
    index = index }) 
    .GroupBy(chunk => chunk.index/25) 
    .Select(chunk => chunk 
    .Select(x => x.item) 
    .ToArray()) 
    .ToArray(); 

またはグループ化アレイによるグループへの多くの方法があります

結果を印刷してテストするには、 se string.Join

string report = string.Join(Environment.NewLine, result 
    .Select(line => string.Join(" ", line 
    .Select(item => string.Format("{0,3}", item))))); 

Console.Write(report); 
関連する問題