- .NET에서 컬렉션에 항목이 있는지 확인(Any())한 후 다시 반복문(foreach)을 돌리는 것은 흔한 실수입니다. 🤦♀️
- 이 방식은 컬렉션을 두 번 열거하게 되어 숨겨진 성능 문제를 야기합니다. 🔄
- 특히 LINQ 쿼리나 데이터베이스 호출 결과인 경우, 쿼리가 두 번 실행되어 불필요한 자원 소모를 초래합니다. 🐌
- 해결책은 컬렉션을
ToList()나ToArray()와 같이 명시적으로 '구체화(Materialize)'하는 것입니다. 💡 - 컬렉션을 구체화하면 쿼리가 한 번만 실행되고 결과가 메모리에 저장되어 여러 번 안전하게 반복할 수 있습니다. ✅
- 이 방법은 메모리 사용량 증가라는 단점이 있지만, 일반적으로 값비싼 작업을 여러 번 실행하는 것보다 효율적입니다. 📈

![[강의 미리보기] ChatGPT 는 이렇게 쓰는겁니다. 실리콘밸리식 ChatGPT 해킹하기](https://i4.ytimg.com/vi/K1mCgq6RYhI/hqdefault.jpg)



