제목처럼 특정 조건의 아이템 목록를 뽑아와야 해

예를 들어, 전체 아이템 중 특정 맵에서 드랍되고, 레어도가 희귀면서, 내가 보유하지 않은 아이템의 목록. 요런 느낌


찾아봤는데 저렇게 조건으로 추출하는건 list로 저장해서 findAll(조건) 이런 식으로 하거나, linq를 사용하는 방법이 있는 것 같음. 근데 나는 조건으로 추출하기도 하지만 아이템의 id로 접근하는 연산도 필요해서 list보단 딕셔너리를 쿼리해서 써야겠다 싶더라고.


그런데 linq도 전체 순회하는 거니까 아이템 수가 많아질수록 문제가 될 것 같아서 방법을 찾아보고 있는데, 아래와 같은 내용을 찾았어.



0490f719b2806bf520b5c6b011f11a39092632861217c9a7fb

(출처 : https://programmingdev.com/unityc-list%ec%99%80-dictionary%eb%a5%bc-%ec%a0%9c%eb%8c%80%eb%a1%9c-%ec%95%8c%ea%b3%a0-%ec%93%b0%ec%9e%90/


저기서 캐싱해놓을수 있다는 이야기가 있어서 관련 키워드로 찾아봤는데 뭐 나오는게 없네.. 코드 맨 윗줄처럼 데이터를 저렇게 한 번 선언 하는걸로 캐싱이 되는게 맞음..?


그리고 혹시 내 상황에 적합한 다른 방법이 있다면 알려주면 감사합니다