Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C#에서 배열을 내림차순으로 정렬하는 방법

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()를 호출하면 원본 배열은 그대로 유지된 채 새로운 내림차순 배열을 반환받을 수 있습니다. 원본 배열을 변경하지 않아야 하는 상황이라면 이 방법이 더 유용합니다.