C#

[C#] Linq 정리

박도치 2025. 4. 14. 21:46

Linq에서 자주 쓰인다고 생각되는 조건 및 함수들

 

Where() 조건 필터링 list.Where(x => x > 10)
Select() 변환/매핑 list.Select(x => x * 2)
OrderBy() 오름차순 정렬 list.OrderBy(x => x)
OrderByDescending() 내림차순 정렬 list.OrderByDescending(x => x)
Distinct() 중복 제거 list.Distinct()
ToArray() 배열로 변환 list.ToArray()
ToList() 리스트로 변환 list.ToList()
Any() 하나라도 조건 만족하면 true list.Any(x => x < 0)
All() 전부 조건 만족하면 true list.All(x => x > 0)
First() 첫 번째 요소 반환 (조건 가능) list.First(x => x > 0)
FirstOrDefault() 첫 번째 또는 null/기본값 list.FirstOrDefault()
Count() 요소 개수 list.Count() or list.Count(x => x > 10)
Sum() 총합 list.Sum() or list.Sum(x => x.Score)
Max() / Min() 최대 / 최소값 list.Max(), list.Min()
Take(n) 앞에서 n개만 가져오기 list.Take(3)
Skip(n) 앞에서 n개 건너뛰기 list.Skip(2)
Reverse() 순서 뒤집기 list.Reverse()

 

 

where()

조건에 맞는 요소만 필터링 할 때 사용

 

int[] arr = { 1, 2, 3, 4, 5 };
var result = arr.Where(x => x > 3).ToArray();  
// 출력: [4, 5]

 

Select()

각 요소를 변환시킬 때 사용 (Parsing하거나 수에 변화를 줄 때)

string arr = "1,2,3";
var result = arr.Select(x => x * 2).ToArray();  
// 출력: [2, 4, 6]

string arr2 = "123";
var result2 = arr2.Select(c => int.Parse(c.ToString())).ToArray();
// 출력 :[1, 2, 3]

 

 

OrderBy()/ OrderByDescending()

오름차순/내림차순 정렬

int[] arr = { 3, 1, 4 };
var asc = arr.OrderBy(x => x).ToArray();          
// 출력: [1, 3, 4]

var desc = arr.OrderByDescending(x => x).ToArray();  
// 출력: [4, 3, 1]

 

Distinct()

중복 제거

int[] arr = { 1, 2, 2, 3, 3, 3 };
var result = arr.Distinct().ToArray();  
// 출력: [1, 2, 3]

 

Any()

조건이 하나라도 충족되면 true

int[] arr = { 1, 3, 5 };
bool hasEven = arr.Any(x => x % 2 == 0);  
// 출력: false (짝수가 없음)

 

 

All()

모든 조건이 충족되어야 true

int[] arr = { 2, 4, 6 };
bool allEven = arr.All(x => x % 2 == 0);  
// 출력: true

 

Count()

조건을 만족하는 개수 세는 용도

int[] arr = { 1, 2, 3, 4, 5 };
int count = arr.Count(x => x > 2);  
// 출력: 3

 

Task() / Skip()

내가 원하는 수를 앞에서부터 가져오는 용도 / 적은 수 만큼 건너뛰는 용도

int[] arr = { 10, 20, 30, 40, 50 };

var take2 = arr.Take(2).ToArray();  
// 출력: [10, 20]

var skip3 = arr.Skip(3).ToArray();  
// 출력: [40, 50]

 

FirstOrDefault()

조건에 맞는 첫 번째 요소 가져오기(없으면 기본값)

int[] arr = { 1, 3, 5 };
int firstEven = arr.FirstOrDefault(x => x % 2 == 0);  
// 출력: 0 (짝수가 없어서 기본값 반환)