개발

[C#] sort 하기

딱딱키보드 2023. 5. 30. 15:28
728x90
SMALL

c#에서 배열이나 리스트 등의 데이터를 정렬하기 위해서는 Array.Sort() 또는 List.Sort() 메소드를 사용합니다.

배열 정렬하기

배열을 정렬하기 위해서는 다음과 같은 코드를 사용합니다.

int[] numbers = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
Array.Sort(numbers); // 오름차순 정렬

만약 내림차순으로 정렬하고 싶으면 다음과 같이 코드를 수정합니다.

int[] numbers = { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
Array.Sort(numbers);
Array.Reverse(numbers); // 내림차순 정렬

리스트 정렬하기

리스트를 정렬하기 위해서는 다음과 같은 코드를 사용합니다.

List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
numbers.Sort(); // 오름차순 정렬

내림차순으로 정렬하고 싶으면 다음과 같이 코드를 수정합니다.

List<int> numbers = new List<int> { 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5 };
numbers.Sort();
numbers.Reverse(); // 내림차순 정렬

어떤 자료형이든 Sort() 메소드를 사용하여 오름차순으로 정렬할 수 있습니다. 또한, 정렬 기준을 사용자 정의할 수 있는 Sort() 메소드도 있습니다.

예를 들어, 다음과 같은 객체 리스트가 있다고 가정해봅시다.

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}
List<Person> people = new List<Person>
{
    new Person { Name = "John", Age = 25 },
    new Person { Name = "Jane", Age = 32 },
    new Person { Name = "Bob", Age = 18 }
};

여기서 Name 속성을 기준으로 정렬하려면 다음과 같이 코드를 작성할 수 있습니다.

people.Sort((p1, p2) => p1.Name.CompareTo(p2.Name));

위 코드에서 Sort() 메소드에 람다식을 전달하여 Name 속성을 기준으로 정렬하도록 지정합니다.

Sort() 메소드와 함께 사용할 수 있는 다른 메소드로는 OrderBy()와 OrderByDescending()가 있습니다. 이 메소드들은 LINQ에서 제공하는 정렬 메소드로, Sort() 메소드와 마찬가지로 사용자 정의 정렬 기준을 적용할 수 있습니다.

728x90
LIST

'개발' 카테고리의 다른 글

[C#] Chart 사용법  (0) 2023.06.01
[C#] 파일 입출력하는 방법  (0) 2023.05.31
[C#] string to double 형변환 방법  (0) 2023.05.29
[C#] string to int 형변환 방법  (0) 2023.05.28
[C#] string to float 형변환 방법  (0) 2023.05.27