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 → 매개변수로 받은 카테고리와 일치 여부 확인
결과적으로 조건에 맞는 요소만 필터링해서 반환된다.
즉, 필터링된 결과는 아직 진짜 리스트로 materialize(구현)된 게 아님