C#에서는 Sort() 메서드 하나만으로 리스트(List)의 요소들을 간단하게 오름차순으로 정렬할 수 있습니다. 이 글에서는 문자열 리스트를 예로 들어 정렬 방법을 단계별로 살펴보겠습니다.
1. 리스트 생성하기
먼저 몇 가지 값을 담고 있는 리스트를 생성합니다. 여기서는 자동차 브랜드 이름으로 구성된 문자열 리스트를 사용합니다.
var cars = new List<string>() {"Mercedes", "Audi", "Jaguar" };2. Sort() 메서드로 정렬하기
리스트를 정렬하려면 Sort() 메서드를 호출하기만 하면 됩니다. 별도의 매개변수 없이 호출하면 기본적으로 사전순(오름차순)으로 정렬됩니다.
cars.Sort();
Sort() 메서드는 원본 리스트 자체를 직접 수정(in-place 정렬)하며, 새로운 리스트를 반환하지 않는다는 점에 유의하세요.
전체 예제 코드
다음은 C#에서 리스트를 생성하고 정렬한 후 결과를 출력하는 완전한 예제입니다.
using System;
using System.Collections.Generic;
public class Program {
public static void Main() {
var cars = new List<string>() {"Mercedes", "Audi", "Jaguar" };
Console.WriteLine("원본 리스트 =");
foreach (var name in cars) {
Console.WriteLine(name);
}
// 정렬 수행
cars.Sort();
Console.WriteLine("정렬된 리스트 =");
foreach (var name in cars) {
Console.WriteLine(name);
}
}
}실행 결과
원본 리스트 = Mercedes Audi Jaguar 정렬된 리스트 = Audi Jaguar Mercedes
참고: 내림차순 정렬이 필요하다면?
기본 Sort() 메서드는 오름차순만 지원합니다. 내림차순으로 정렬하고 싶다면 LINQ의 OrderByDescending() 메서드를 활용할 수 있습니다.
var sortedDesc = cars.OrderByDescending(c => c).ToList();
또한 숫자 리스트나 날짜 리스트 등 다른 타입의 컬렉션도 동일한 방식으로 Sort() 메서드를 사용해 정렬할 수 있으며, 사용자 정의 비교자(IComparer)를 전달하면 원하는 기준으로 정렬 로직을 직접 지정할 수도 있습니다.