[C# 문법] ObservableCollection 정렬하기
- C#/C# 문법
- 2021. 11. 1. 18:47
소개
- 안녕하세요. 오늘은 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
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# Enum 열거형 LINQ 사용하기 (0) | 2021.11.10 |
---|---|
[C#] C# 부하 측정 - 벤치마크 닷넷 사용방법 (0) | 2021.11.09 |
[C# 문법] C# LINQ Select 구문 메서드 방식으로 사용하기 (0) | 2021.10.18 |
[C# 문법] C# 정규표현식 - 일치한 부분 문자열 찾기 (0) | 2021.09.13 |
[C# 문법] C# 정규표현식 - 일치하는 모든 문자열 찾기 (0) | 2021.09.11 |
이 글을 공유하기