C#에서 배열을 내림차순으로 정렬하려면 Array.Sort() 메서드와 Array.Reverse() 메서드를 함께 사용하면 됩니다. 먼저 Sort()로 배열을 오름차순 정렬한 뒤, Reverse()로 순서를 뒤집으면 내림차순 배열을 얻을 수 있습니다.
1. 정렬되지 않은 배열 준비
다음과 같이 정렬되지 않은 정수형 배열이 있다고 가정해 보겠습니다.
int[] list = {98, 23, 97, 36, 77};2. Sort() 메서드로 오름차순 정렬
Array.Sort() 메서드를 호출하면 배열의 요소가 오름차순으로 정렬됩니다.
Array.Sort(list);
3. Reverse() 메서드로 내림차순 변환
이어서 Array.Reverse() 메서드를 사용하면 정렬된 배열의 순서가 반전되어 최종적으로 내림차순 배열이 됩니다.
Array.Reverse(list);
전체 예제 코드
아래 코드를 실행하여 배열을 내림차순으로 정렬하는 전체 과정을 확인할 수 있습니다.
using System;
namespace Demo {
public class MyApplication {
public static void Main(string[] args) {
int[] list = {98, 23, 97, 36, 77};
Console.WriteLine("Original Unsorted List");
foreach (int i in list) {
Console.Write(i + " ");
}
// 오름차순 정렬
Array.Sort(list);
// 내림차순으로 변환
Array.Reverse(list);
Console.WriteLine("\nSorted List");
for(int i=0; i<list.Length; i++) {
Console.Write(list[i] + " ");
}
}
}
}실행 결과
Original Unsorted List 98 23 97 36 77 Sorted List 98 97 77 36 23
참고: LINQ를 활용한 대안
C#에서는 LINQ를 사용해 한 줄로 내림차순 정렬을 처리할 수도 있습니다. list.OrderByDescending(x => x).ToArray()를 호출하면 원본 배열은 그대로 유지된 채 새로운 내림차순 배열을 반환받을 수 있습니다. 원본 배열을 변경하지 않아야 하는 상황이라면 이 방법이 더 유용합니다.