[C# 문법] ObservableCollection 정렬하기

소개

  • 안녕하세요. 오늘은 C# 문법에서 ObservableCollection 정렬하는 방법에 대해서 알려 드리려고 합니다.
  • WPF에서 ObservableCollection 을 자주 사용하고 있는데, 정렬할 경우에 유용하게 사용할 수 있기 때문에 한번씩 따라 해보시면서 어떻게 정렬하는지 익혀 보시는걸 추천 드리겠습니다.
  • 크게 어려운 부분은 없으니, 예제 코드를 통해 보여 드리도록 하겠습니다.

예제 코드

using System;
using System.Collections.ObjectModel;
using System.Linq;

namespace ConsoleApp8
{
    public enum EmployeeType
    {
        Active,
        Passive
    }

    class Program
    {
        static void Main(string[] args)
        {
            var allEmployees = FindAllEmployee();

            foreach (var employee in allEmployees)
            {
                Console.WriteLine($"{employee.Name} 의 월급은 {employee.Salary} 원 입니다.");
            }

            Console.WriteLine();

            // 정렬
            allEmployees = new ObservableCollection<Employee>(allEmployees.OrderBy(x => x.Salary));

            foreach(var employee in allEmployees)
            {
                Console.WriteLine($"{employee.Name} 의 월급은 {employee.Salary} 원 입니다.");
            }

        }

        public static ObservableCollection<Employee> FindAllEmployee()
        {
            ObservableCollection<Employee> employees = new ObservableCollection<Employee>
            {
                new Employee() { Name = "Kim", Salary = 400 , Classification = EmployeeType.Active },
                new Employee() { Name = "Lee", Salary = 500 , Classification = EmployeeType.Active },
                new Employee() { Name = "Ahn", Salary = 600 , Classification = EmployeeType.Passive },
                new Employee() { Name = "Jo", Salary = 700 , Classification = EmployeeType.Active },
                new Employee() { Name = "Park", Salary = 420 , Classification = EmployeeType.Active },
                new Employee() { Name = "Shin", Salary = 300 , Classification = EmployeeType.Passive },
            };

            return employees;
        }
    }

    public class Employee
    {
        public string Name { get; set; }
        public double Salary { get; set; }
        public EmployeeType Classification { get; set; }
    }
}

출력 결과

Kim 의 월급은 400 원 입니다.
Lee 의 월급은 500 원 입니다.
Ahn 의 월급은 600 원 입니다.
Jo 의 월급은 700 원 입니다.
Park 의 월급은 420 원 입니다.
Shin 의 월급은 300 원 입니다.

Shin 의 월급은 300 원 입니다.
Kim 의 월급은 400 원 입니다.
Park 의 월급은 420 원 입니다.
Lee 의 월급은 500 원 입니다.
Ahn 의 월급은 600 원 입니다.
Jo 의 월급은 700 원 입니다.
  • 위와 같이 월급을 기준으로 정렬되어 출력된 것을 확인할 수 있습니다.
728x90

이 글을 공유하기

댓글

Designed by JB FACTORY