【问题标题】:Arrange Array in C# Issue在 C# 问题中排列数组
【发布时间】:2017-05-08 05:44:10
【问题描述】:

我有一个数组序列 20,40,60,10,30,50。我想在 C# 中将此序列排序为以下顺序 60,40,50,20,30,10。

有什么帮助吗?提前谢谢☺

【问题讨论】:

标签: c# arrays


【解决方案1】:

如果你有一个数组非常简单

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();

【讨论】:

    【解决方案2】:

    只需使用 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
    

    【讨论】:

      【解决方案3】:

      你可以试试这个

      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)
      

      【讨论】:

      • 你能简单解释一下吗
      • @AmitMishra 它是如何工作的?输出与您发布的完全不同:“按以下顺序 60,40,50,20,30,10
      • 先生,您能用一个例子给我一个答案吗?
      • @AmitMishra 你能提供数组排序的确切规则吗?
      猜你喜欢
      • 2021-11-23
      • 2021-06-22
      • 2019-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2011-09-27
      相关资源
      最近更新 更多