방프리
21.08.28Chapter4. LINQ 활용 (Item 36) 본문
Item 36 : 쿼리 표현식과 메서드 호출 구문이 어떻게 대응되는지 이해하라
C#에서 Linq는 절대 빠질 수 없는 기능이다.
복잡한 코드를 간단한 조건식으로 정말 가독성 높게 변경할 수 있기 때문이다.
하지만 제대로 사용하려면 내부에서 어떻게 돌아가는지는 이해하고 사용하는 것이 좋다.
Linq와 항상 따라다니는 것들이 있는데, 바로 IEnumerable<T>와 IQueryable<T>이다.
일반적인 where, select 등은 모드 IQueryable<T>에 있는 Where(), Select() 함수를 통해서 동작한다.
또한 몇 가지 키워드는 여러 함수의 과정을 거치기도 한다.
예로, orderby 키워드는 OrderBy(), ThenBy() 함수를 거쳐서 동작한다. 그러므로 최적화를 하고 싶다면,
Linq의 해당 조건절이 내부에서 어떻게 돌아가는지 분명히 인지할 필요가 있다.
기본적으로 제공해주는 키워드는 어떠한 상황에서든지 돌아가는 것은 보장한다. 하지만 여기서 말하는 보장이
최적화까지 의미하지는 않는다.
예전 포프tv 영상을 보다가 어떤 개발자한테 where절이 전체 루프 타는 것을 아느냐고 물어봤을 때 몰랐다고 한
개발자처럼 무지성으로 사용해 괜한 최적화를 망치지 말자는 것이다.
여러 함수를 통해 동작한다는 것은 필요에 따라 커스터마이징을 할 수 있다는 것이다. 하지만 커스터마이징 하기 전
반드시 이것이 왜 이렇게 동작하는지는 분명히 인지하는 것이 좋다.
'C# > Effective C#' 카테고리의 다른 글
21.09.01 Chapter4. LINQ 활용 (Item 38) (0) | 2021.09.03 |
---|---|
21.08.31 Chapter4. LINQ 활용 (Item 37) (0) | 2021.08.31 |
21.06.03Chapter4. LINQ 활용 (Item 35) (0) | 2021.06.03 |
21.05.29Chapter4. LINQ 활용 (Item 34) (0) | 2021.05.29 |
21.04.24 Chapter4. LINQ 활용 (Item 33) (0) | 2021.04.24 |
Comments