【发布时间】:2017-05-08 05:44:10
【问题描述】:
我有一个数组序列 20,40,60,10,30,50。我想在 C# 中将此序列排序为以下顺序 60,40,50,20,30,10。
有什么帮助吗?提前谢谢☺
【问题讨论】:
-
你有没有尝试过?
-
人们需要注意,所需的输出不是按降序排列的。这是一个他没有给出所有要求的测试问题。
我有一个数组序列 20,40,60,10,30,50。我想在 C# 中将此序列排序为以下顺序 60,40,50,20,30,10。
有什么帮助吗?提前谢谢☺
【问题讨论】:
如果你有一个数组非常简单
int[] arr = { 1, 2, 3, 5, 9, 0, 2, 10 };
arr.OrderBy(a => a);
arr.Reverse();
如果是列表
List<int> abc = new List<int> { 1, 2, 3, 5, 9, 0, 2, 10 };
abc.Sort();
abc.Reverse();
【讨论】:
只需使用 LINQ 的 OrderByDescending:
var list = new[] {20, 40, 60, 10, 30, 50};
var newList = list.OrderByDescending(x => x);
Console.WriteLine(string.Join(",", newList)); //60,50,40,30,20,10
【讨论】:
你可以试试这个
int[] array = new int[] { 20, 40, 60, 10, 30, 50 };
Array.Sort<int>(array,
new Comparison<int>((element1, element2) => element1.CompareTo(element2)));
反向排序
element2.CompareTo(element1)
【讨论】: