如何反转 Array.Sort 的方向 - C#
Posted
技术标签:
【中文标题】如何反转 Array.Sort 的方向 - C#【英文标题】:How to reverse the direction of Array.Sort - C# 【发布时间】:2020-10-27 23:28:11 【问题描述】:我有一个简单的字符串数组,编号为 1 - 10,我将使用以下内容对其进行排序:
Array.Sort(StringArray, StringComparer.InvariantCulture);
我的问题是,如何将排序的方向从 1 - 10 升序更改为 10 - 1 降序?
【问题讨论】:
【参考方案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);
【讨论】:
以上是关于如何反转 Array.Sort 的方向 - C#的主要内容,如果未能解决你的问题,请参考以下文章