구조체 정렬

  • 19 minutes to read

구조체 정렬

이번 글에서는 C# 언어를 사용하여 구조체를 정렬하는 방법에 대해 알아보겠습니다. 여기에서는 사람을 나타내는 클래스를 예제로 사용하고, 이들을 나이를 기준으로 정렬하겠습니다.

코드 예제

StructSort.cs 파일을 생성하고 아래 코드를 작성합니다.

using System;
using System.Linq;

namespace StructSort
{
    //사람을 나타내는 클래스
    public class Person
    {
        public int Id { get; set; } //사람의 id
        public string Name { get; set; } //사람의 이름
        public int Age { get; set; } //사람의 나이
    }

    public class Program
    {
        public static void Main()
        {
            //사람들을 나타내는 배열
            Person[] people =
            {
                new Person {Id = 1, Name = "홍길동", Age = 20},
                new Person {Id = 2, Name = "백두산", Age = 25},
                new Person {Id = 3, Name = "임꺽정", Age = 30},
                new Person {Id = 4, Name = "한라산", Age = 28},
            };

            Console.WriteLine("정렬되지 않은 사람들:");
            foreach (var person in people)
            {
                Console.WriteLine($"{person.Id}: {person.Name}, {person.Age}");
            }

            //나이를 기준으로 사람들을 정렬
            var sortedPeople = people.OrderBy(person => person.Age).ToArray();

            Console.WriteLine("나이별로 정렬된 사람들:");
            foreach (var person in sortedPeople)
            {
                Console.WriteLine($"{person.Id}: {person.Name}, {person.Age}");
            }
        }
    }
}

코드 실행 결과

이 코드를 실행하면 다음과 같은 결과를 얻습니다.

정렬되지 않은 사람들:
1: 홍길동, 20
2: 백두산, 25
3: 임꺽정, 30
4: 한라산, 28
나이별로 정렬된 사람들:
1: 홍길동, 20
2: 백두산, 25
4: 한라산, 28
3: 임꺽정, 30

위 결과에서 보듯이, 우리는 클래스를 나이를 기준으로 성공적으로 정렬하였습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com