对与另一个数组相关的数组进行排序

Loa*_*ati 27 c# arrays

如果我有两个数组,x和y,其中y是x中每个元素的十个数值.现在,我想排序y.但是,y的顺序与x的顺序不同.所以,在排序y中哪个元素与之相关后,我无法分辨,例如x [0].我想要一个"双重排序".非常感谢您的帮助!

Mar*_*ell 63

Array.Sort一个接受两个数组的重载 ; 一个用于钥匙,一个用于物品.两者的项目根据keys数组排序:

int[] keys = { 1, 4, 3, 2, 5 };
string[] items = { "abc", "def", "ghi", "jkl", "mno" };
Array.Sort(keys, items);
foreach (int key in keys) {
    Console.WriteLine(key); // 1, 2, 3, 4, 5
}
foreach (string item in items) {
    Console.WriteLine(item); // abc, jkl, ghi, def, mno
}
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下,它听起来像你想要的:

Array.Sort(y,x); // or Sort(x,y); - it isn't  100% clear
Run Code Online (Sandbox Code Playgroud)

  • +1,从未听说过这个小宝石`Array.Sort(x,y)`. (5认同)