C#컬렉션과 LINQ

LINQ 기본 흐름

필터링, 변환, 정렬 같은 컬렉션 작업을 짧고 읽기 쉬운 체인으로 표현하는 LINQ 핵심 흐름입니다.

마지막 수정 2026년 3월 15일

설명

  • Where는 조건에 맞는 항목만 고릅니다.
  • Select는 각 항목을 원하는 형태로 바꿉니다.
  • OrderBy는 특정 기준으로 정렬합니다.
  • Any, FirstOrDefault, Count는 조회성 질문을 빠르게 처리합니다.

기본 패턴

csharp
List<string> highScores = players
    .Where(player => player.Score >= 1000)
    .OrderByDescending(player => player.Score)
    .Select(player => $"{player.Name}: {player.Score}")
    .ToList();

빠른 정리

필요한 작업연산자
항목 필터링Where
항목 변환Select
중첩 컬렉션 평탄화SelectMany
결과 확정ToList / ToArray
존재 여부 확인Any

이미지

LINQ는 거대한 반복문 하나보다, 작은 변환 단계를 연결한 흐름으로 이해하면 훨씬 읽기 쉽습니다.

주의할 점

LINQ는 지연 실행되는 경우가 많습니다. 실제로 열거하기 전까지는 실행되지 않기 때문에, 원본 컬렉션이 바뀌면 결과도 달라질 수 있습니다.