C#2D数组 - 如何打印每行中最大的元素

时间:2015-11-07 17:59:27

标签: c# arrays 2d

我正在播放MTA 98-361并且有一个任务:你正在编写一个使用二维数组的程序。该数组有四行五列。您需要在数组的每一行中打印最大的元素。

我的代码:

  static void Main(string[] args)
  {
      //[x, y] row, col
     int[,] grid = new int[4,5] { { 1, 2, 4,  5,  6 }, //how to get largest number of each row
                                  { 3, 4, 7,  8,  9 }, 
                                  { 5, 6, 56, 12, 45 }, 
                                  { 7, 8, 45, 12, 78 }};

     for (int row = 0; row < grid.GetLength(0); row++)
     {
        for (int col = 0; col < grid.GetLength(1); col++)
        {
           Console.Write(grid[row, col] + "\t ");
        }
        Console.WriteLine();
     }
     Console.WriteLine("Row1: {0} {1} {2} {3} {4} ", grid[0, 0], grid[0, 1], grid[0, 2], grid[0, 3], grid[0, 4]);

     Console.ReadLine();
  } 

我知道这是我的任务,应该解决它,但我被困住了。 你能告诉我如何完成它吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

以下是如何在不产生线程的情况下执行此操作:

public static void Main()
{
     int[,] grid = new int[4,5] { { 1, 2, 4,  5,  6 }, //how to get largest number of each row
                                  { 3, 4, 7,  8,  9 }, 
                                  { 5, 6, 56, 12, 45 }, 
                                  { 7, 8, 45, 12, 78 }};

    int w=grid.GetLength(0), h=grid.GetLength(1);
    Console.WriteLine(string.Join(",",
        Enumerable.Range(0,w).Select(i=>Enumerable.Range(0,h).Select(j=>grid[i,j]).Max())));
}

您可以在此处看到它:https://dotnetfiddle.net/8u08i3