转换两个一维数组到一个二维数组

问题描述:

我想知道如果我可以从两个数组创建一个二维数组,类似如下:转换两个一维数组到一个二维数组

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 };