개발공부/C#

[Effective C#] 아이템 43: 쿼리 결과의 의미를 명확히 강제하고, Single()과 First()를 사용해라

개발자 찐빵이 2021. 12. 18. 22:23
728x90

Single() : 정확히 하나의 요소만 반환한다.
만약 쿼리 결과에 어떤 요소도 포함되지 않거나, 여러 개의 요소가 포함되는 경우에는 Single()은 예외를 유발한다.

First() : 하나의 요소만 반환 될 것을 기대하지만, 때로는 여러 개의 값이 반환 되는 경우를 허용하고 싶을 때 사용한다.
시퀀스가 비어있는 경우 예외를 발생시킨다.

FirstOrDefault() : 하나의 요소만 반환 될 것을 기대하지만, 때로는 여러 개의 값이 반환 되는 경우를 허용하고 싶을 때 사용한다. 시퀀스가 비어있는 경우 기본값을 반환한다.

특정 위치에 있는 요소를 찾을 때 고려해야 할 것

  • 쿼리를 구성하기 위한 다른 속성이 있는지
  • 결과 시퀀스가 IList를 지원하는지
  • 인덱스 작업을 지원하는지
반응형