[C# 문법] C# LIST OrderBy , ThenBy 이용하여 정렬하기
- C#/C# 문법
- 2019. 12. 8. 01:00
안녕하세요.
오늘은 C# 문법에서 OrderBy, ThenBy를 이용하여 LIST를 정렬하는 방법에 대해서 알려드리려고 합니다.
시나리오
- STUDENT 클래스만들고 FILD는 NAME, AGE 두개를 선언
- LIST<STUDENT> List 변수 선언
- STUDENT 객체 만들고 3명의 학생들 정보 저장
- 이제 학생들은 List변수에 저장
- List를 OrderBy.ThenBy를 이용하여 학생의 나이, 이름 순으로 정렬하여 출력하기
시나리오는 위와 같습니다.
그럼 이제 실제 위의 시나리오를 토대로 코드를 작성해 보도록 하겠습니다.
코드 작성
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;
namespace TestList { class Program { static void Main(string[] args) { STUDENT stu1 = new STUDENT(); STUDENT stu2 = new STUDENT(); STUDENT stu3 = new STUDENT();
List<STUDENT> list = new List<STUDENT>();
stu1.NAME = "범범조조"; stu1.AGE = 27;
stu2.NAME = "안정환"; stu2.AGE = 26;
stu3.NAME = "류현진"; stu3.AGE = 40;
list.Add(stu1); list.Add(stu2); list.Add(stu3);
foreach(var stu in list) { Console.WriteLine("정렬 전 이름 : {0}, 나이 {1}", stu.NAME, stu.AGE); }
Console.WriteLine("-----------------------------------------------------");
var sortList = list.OrderBy(x => x.AGE).ThenBy(x => x.NAME).ToList();
foreach(var sort in sortList) { Console.WriteLine("정렬 후 이름 : {0}, 나이 {1}", sort.NAME, sort.AGE); } } }
class STUDENT { public string NAME { get; set; } public int AGE { get; set; } } }
|
실행 결과
위와 같이 정렬 전, 정렬 후의 출력 결과가 달라진 것을 확인하실 수 있습니다.
이처럼 LIST를 이용하여 정렬을 하실 때, OrderBy를 이용하시고, 또한 만약 두개 이상의 필드를 정렬하시려면 OrderBy 뒤에 ThenBy를 이용하여 추가적으로 정렬을 하실 수 있는 것을 기억하시면 유용하게 사용하실 수 있습니다.
감사합니다.^^
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# Linq 이용하여 DataTable 에서 특정 컬럼들 List로 가져오는 방법 (0) | 2019.12.28 |
---|---|
[C# 문법] C# enum 열거형 반복문(foreach문) 사용하기 (0) | 2019.12.13 |
[C# 문법] C# Linq를 이용하여 문자열 자르기 (Substring, String.Join) (0) | 2019.10.26 |
[C# 문법] DataTable 내 특정 컬럼의 값들을 배열로 얻기(LINQ) (0) | 2019.10.20 |
[C# 문법] Image To Byte Array, Byte Array To Image (0) | 2019.10.17 |
이 글을 공유하기