[C#] Where 함수

식혜드식혜·2025년 5월 11일

C# 문법 정리

목록 보기
4/8

정의

Where는 LINQ 메서드 중 하나로, 컬렉션(리스트 등)에서 특정 조건을 만족하는 요소들만 선택하는 필터링 함수이다.

items.Where(조건식)

→ 조건식을 만족하는 요소들만 "지연 평가"된 컬렉션으로 반환

예시 코드

    public List<InventoryItem> GetItemsByCategory(ItemCategory category) 
    {
        return items.Where(i => i.itemData.Category == category).ToList();
    }

이건 이렇게 해석할 수 있다:

"items 리스트에서 itemData.Category가 매개변수인 category와 같은 모든 InventoryItem 객체들을 추려라"

i는 리스트의 각 요소 (즉, InventoryItem)

i.itemData.Category → 아이템의 분류

== category → 매개변수로 받은 카테고리와 일치 여부 확인

결과적으로 조건에 맞는 요소만 필터링해서 반환된다.

.ToList()

  • Where(...)의 반환형은 IEnumerable이다.
    Where(...)는 List가 아닌 IEnumerable 을 반환하기 때문에,
    필터링된 결과를 .ToList()를 통해 리스트로 변환해준다.

즉, 필터링된 결과는 아직 진짜 리스트로 materialize(구현)된 게 아님

profile
안녕하세요! 유니티 공부 중인 고3 학생입니다

0개의 댓글