转换两个一维数组到一个二维数组
问题描述:
我想知道如果我可以从两个数组创建一个二维数组,类似如下:转换两个一维数组到一个二维数组
string[] array1 = new string[] { "test", "test2" };
string[] array2 = new string[] { "TEST", "TEST2" };
string[,] array3 = new string[,] { array1, array2};
有没有办法做到这一点?
答
考虑到您使用的是二维数组,你可以得到的最接近的是这样做的:
string[,] array3 = new string[,] {{"test","test2" }, {"TEST","TEST2"}};
虽然这可能看起来很诱人:
string[,] array3 = new string[,] { array1, array2 };
它根本不会编译。如果这就是你想要的,那么你需要使用锯齿阵列而不是多维数组。
答
不,我不这么认为,但你可以手动做这样的:
string[] array1 = { "test", "Test2" };
string[] array2 = { "TEST", "TEST2" };
int arrayCount = 2;
string[,] array3 = new string[2, array1.Length];
for (int i = 0; i < array1.Length; i++)
{
array3[0, i] = array1[i];
array3[1, i] = array2[i];
}
这只能如果所有阵列具有相同的lenght。
或者你可以使用交错数组:
string[] array1 = { "test", "Test2" };
string[] array2 = { "TEST", "TEST2" };
string[][] array3 = { array1, array2 };