提问者:小点点

将两个2D数组组合成一个新的2D数组的简单方法


假设我有这个代码,我存储了两个不同教室的名字和他们的年龄

string[,] Classroom1 = {
                          {"John", "16"},
                          {"Ethan","18"},
                          {"Jake", "17"}
                       }

string[,] Classroom2 = {
                          {"Jeff", "17"},
                          {"Tom","16"},
                          {"Jay", "18"}
                       }

我的2D数组'MergedClasson'在函数中是什么样子的?


共1个答案

匿名用户

下面的代码将帮助您

static void AddToArray(string[,] result, string[,] array, int start = 0)
{
    for (int i = 0; i < array.GetLength(0); ++i)
    {
        for (int j = 0; j < array.GetLength(1); ++j)
        {
            result[i + start, j] = array[i, j];
        }
    }
}

string[,] Classroom1 = {
                {"John", "16"},
                {"Ethan","18"},
                {"Jake", "17"}
            };

string[,] Classroom2 = {
                {"Jeff", "17"},
                {"Tom","16"},
                {"Jay", "18"}
            };

int d1 = Classroom1.GetLength(0) + Classroom2.GetLength(0);
int d2 = Classroom1.GetLength(1) > Classroom2.GetLength(1) ? Classroom1.GetLength(1) : Classroom2.GetLength(1);
string[,] result = new string[d1, d2];

AddToArray(result, Classroom1);
AddToArray(result, Classroom2, Classroom1.GetLength(0));

for (int i = 0; i < result.GetLength(0); ++i)
{
    for (int j = 0; j < result.GetLength(1); ++j)
    {
        Console.Write(result[i, j] + " ");
    }
    Console.WriteLine();
}