我有这样的:重新排列不同类型的阵列与对应
string[] old = new string[] {"a","b","c","d"};
表示2D阵列的列的值:
double[,] values = new double[,] {{1,2,3,4},{5,6,7,8},{1,3,5,9}};
如何使用LINQ reoder这2D阵列的列将字符串数组值重新排序为
string[] newer = new string[] {"c","a","d","b"};
我正在使用辅助int数组来保留新索引,但我想用LINQ! :)
int[] aux = new int[old.Length];
for (int i = 0; i < newer.Length; i++)
{
for (int j = 0; j < old.Length; j++)
{
if (old[j] == newer[i])
{
aux[i] = j;
}
}
}
double[,] newvalues = new double[values.GetLength(0), values.GetLength(1)];
for (int i = 0; i < values.GetLength(0); i++)
{
for (int j = 0; j < values.GetLength(1); j++)
{
newvalues[i, j] = values[i, aux[j]];
}
}
values = newvalues;
它必须在矩形的[[,]'数组上,还是可以在锯齿形的[] []'数组上? – jason
矩形,我修正了代码...'newvalues [i,j] = values [i,aux [j]];' – user1204
很好,两者之间的转换很容易。 – jason