我正在开发一个项目,我需要接收2个数组,并按顺序打印出来。
这就是我现在所拥有的:
string[] nPlayer = {"aaa", "bbb", "ccc", "ddd", "eee"}
int[] nScore = {555, 444, 333, 222, 111}
public void Print()
{
Array.Sort(nScore, nPlayer);
PrintKeysAndValues(nPlayer, nScore);
}
public static void PrintKeysAndValues(String[] myKeys, int[] myValues)
{
for (int i = 0; i < myKeys.Length; i++)
{
Console.WriteLine("{0}\t{1}", myKeys[i], myValues[i]);
}
}
我得到的输出是:(按数字排序)
eee 111
ddd 222
ccc 333
bbb 444
aaa 555
我需要让它以相反的方式显示(按数字排序)
aaa 555
bbb 444
ccc 333
ddd 222
eee 111
只是一个注释......输入过程中的数字都是随机的而不是按顺序...
答案 0 :(得分:1)
您可以使用Array.Revers方法反转数组。
public void Print()
{
Array.Sort(nScore, nPlayer);
Array.Reverse(nScore);
Array.Reverse(nPlayer);
PrintKeysAndValues(nPlayer, nScore);
}
答案 1 :(得分:1)
LINQ也可以,你可以完全跳过Array.Sort:
nScore = nScore.OrderByDescending(c => c).ToArray();
nPlayer = nPlayter.OrderByDescending(c => c).ToArray();
PrintKeysAndValues(nPlayer, nScore);
答案 2 :(得分:0)
您可以使用任何比较排序算法按降序对数字数组进行排序 在排序时,需要对字符串数组进行相同的元素重新排列 您是否在寻找代码来执行上述操作?