【问题标题】:How to reverse the direction of Array.Sort - C#如何反转 Array.Sort 的方向 - C#
【发布时间】:2020-10-27 23:28:11
【问题描述】:

我有一个简单的字符串数组,编号为 1 - 10,我将使用以下内容对其进行排序:

Array.Sort(StringArray, StringComparer.InvariantCulture);

我的问题是,如何将排序的方向从 1 - 10 升序更改为 10 - 1 降序?

【问题讨论】:

    标签: c# arrays string sorting


    【解决方案1】:

    有多种选择。 Here is the most common I use.

    Linq over a List can also be used.

    // C# program sort an array in  
    // decreasing order using  
    // CompareTo() Method 
    using System; 
      
    class GFG { 
      
        // Main Method 
        public static void Main() 
        { 
      
            // declaring and initializing the array 
            int[] arr = new int[] {1, 9, 6, 7, 5, 9}; 
      
            // Sort the arr from last to first. 
            // compare every element to each other 
            Array.Sort<int>(arr, new Comparison<int>( 
                      (i1, i2) => i2.CompareTo(i1))); 
      
            // print all element of array 
            foreach(int value in arr) 
            { 
                Console.Write(value + " "); 
            } 
        } 
    }
    

    // C# program sort an array in decreasing order 
    // using Array.Sort() and Array.Reverse() Method 
    using System; 
      
    class GFG { 
      
        // Main Method 
        public static void Main() 
        { 
      
            // declaring and initializing the array 
            int[] arr = new int[] {1, 9, 6, 7, 5, 9}; 
      
            // Sort array in ascending order. 
            Array.Sort(arr); 
      
            // reverse array 
            Array.Reverse(arr); 
      
            // print all element of array 
            foreach(int value in arr) 
            { 
                Console.Write(value + " "); 
            } 
        } 
    } 
    

    【讨论】:

      【解决方案2】:

      如果你想在 C# 中使用 Array 方法对数字进行排序,试试这个:

      int[] arr = new int[] {1, 2, 3, 4, 5,6, 7, 8, 9, 10}; 
      Array.Sort(arr); //1 2 3 4 5 6 7 8 9 10     
      
      Array.Reverse(arr); //10 9 8 7 6 5 4 3 2 1
      

      【讨论】:

        【解决方案3】:

        刚刚发现这个...似乎很好用。

        Array.Reverse(StringArray);   
        

        【讨论】:

          猜你喜欢
          • 2012-02-11
          • 2019-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-17
          • 2018-09-23
          • 2015-04-18
          • 1970-01-01
          相关资源
          最近更新 更多