안녕하세요. 또 질문드리게 되네요.. ^^
제가 C# 6.0 책을 보던 중 이 부분이 궁금하여 테스트를 진행해봤습니다.
그런데 FindAll 은 모든 요소를 대상으로 실행된다고 되어있고,
Where 은 열거자를 통해 요소를 순회할 때 하나씩 실행 된다고 되어있습니다. 그리고 이를 "지연된 평가" 라고 하고요.
또한 Where 의 장점이 데이터가 필요한 순간에만 코드가 CPU 에 의해 실행된다고 되어있습니다.
FindAll 은 데이터가 몇 개만 필요해도 필요한게 모두 끝날 때까지 CPU 가 실행되구요.
그렇다는 것은 Where 이 속도가 더 빨라야한다는 뜻인데..
어째서 인지 FindAll 이 아무리 돌려봐도 더 빠릅니다.
어떻게 된 영문인지 몰라 질문드립니다.
테스트 할 때 썻던 프로젝트는 첨부하였습니다.
[최초 등록일: ]
[최종 수정일: 11/19/2017]