상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C#에서 컬렉션을 정렬하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
C 에서 컬렉션을 정렬하는 방법은 여러 가지가 있습니다. C 의 `System.Collections` 및 `System.Collections.Generic` 네임<a href='https://sangseek.com/sangseeks/스페이스/ko'>스페이스</a>에 포함된 다양한 컬렉션 클래스는 정렬 기능을 제공합니다. 이 글에서는 C 에서 컬렉션을 정렬하는 방법에 대해 자세히 설명하겠습니다. 1. 배열 정렬 C 의 배열은 `Array.Sort` 메서드를 사용하여 정렬할 수 있습니다. 이 메서드는 기본적으로 배열의 요소를 <a href='https://sangseek.com/sangseeks/오름차순/ko'>오름차순</a>으로 정렬합니다. ```csharp int[] numbers = { 5, 3, 8, 1, 2 }; Array.Sort(numbers); // 결과: { 1, 2, 3, 5, 8 } ``` `Array.Sort` 메서드는 두 번째 매개변수로 `IComparer` 인터페이스를 구현한 객체를 전달하여 사용자 정의 정렬을 할 수도 있습니다. ```csharp Array.Sort(numbers, (x, y) => y.CompareTo(x)); // 내림차순 정렬 ``` 2. 리스트 정렬 `List<T>` 클래스는 `Sort` 메서드를 제공하여 리스트의 요소를 정렬할 수 있습니다. 기본적으로 오름차순으로 정렬되며, 사용자 정의 비교자를 제공할 수도 있습니다. ```csharp List<int> numbers = new List<int> { 5, 3, 8, 1, 2 }; numbers.Sort(); // 오름차순 정렬 // 결과: { 1, 2, 3, 5, 8 } numbers.Sort((x, y) => y.CompareTo(x)); // 내림차순 정렬 ``` 3. <a href='https://sangseek.com/sangseeks/LINQ/ko'>LINQ</a>를 사용한 정렬 LINQ(언어 통합 쿼리)를 사용하면 컬렉션을 더욱 간편하게 정렬할 수 있습니다. `<a href='https://sangseek.com/sangseeks/OrderBy/ko'>OrderBy</a>` 및 `OrderByDescending` 메서드를 사용하여 오름차순 및 내림차순으로 정렬할 수 있습니다. ```csharp using System.Linq; List<int> numbers = new List<int> { 5, 3, 8, 1, 2 }; var sortedNumbers = numbers.OrderBy(n => n).ToList(); // 오름차순 정렬 // 결과: { 1, 2, 3, 5, 8 } var sortedNumbersDesc = numbers.OrderByDescending(n => n).ToList(); // 내림차순 정렬 ``` 4. 사용자 정의 객체 정렬 사용자 정의 객체를 정렬하려면 `IComparable` 인터페이스를 구현하거나, `IComparer`를 사용하여 정렬 기준을 정의할 수 있습니다. ```csharp public class Person : IComparable<Person> { public string Name { get; set; } public int Age { get; set; } public int CompareTo(Person other) { return this.Age.CompareTo(other.Age); // 나이 기준으로 오름차순 정렬 } } List<Person> people = new List<Person> { new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 }, new Person { Name = "Charlie", Age = 35 } }; people.Sort(); // 나이 기준으로 정렬 ``` 또는 `IComparer`를 구현하여 정렬 기준을 분리할 수도 있습니다. ```csharp public class PersonComparer : IComparer<Person> { public int Compare(Person x, Person y) { return x.Name.CompareTo(y.Name); // 이름 기준으로 정렬 } } people.Sort(new PersonComparer()); // 이름 기준으로 정렬 ``` 5. 정렬된 컬렉션 사용 C 에서는 `S<a href='https://sangseek.com/sangseeks/ortedList/ko'>ortedList</a><TKey, TValue>` 및 `SortedD<a href='https://sangseek.com/sangseeks/ictionary<TKey, TValue>/ko'>ictionary<TKey, TValue></a>`와 같은 정렬된 컬렉션을 사용할 수도 있습니다. 이러한 컬렉션은 키를 기준으로 자동으로 정렬됩니다. ```csharp SortedList<int, string> sortedList = new SortedList<int, string>(); sortedList.Add(3, "Three"); sortedList.Add(1, "One"); sortedList.Add(2, "Two"); // 결과: { 1: "One", 2: "Two", 3: "Three" } ``` 결론 C 에서 컬렉션을 정렬하는 방법은 다양합니다. 배열, 리스트, LINQ, 사용자 정의 객체 및 정렬된 컬렉션을 통해 원하는 방식으로 데이터를 정렬할 수 있습니다. 각 방법은 특정 상황에 맞게 사용될 수 있으며, 필요에 따라 적절한 방법을 선택하여 사용할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기