에서 의 C # / NET 리틀 불가사의 :. C # 6 식 바디 회원 :
그래서 이것을 사용해야합니까? 그것은 모두 스타일에 달려 있습니다. 내 직감은 이것을 언뜻보기에 명확하게 이해할 수있는 간단한 표현과 진술 로 제한하는 것 입니다.
(강조, 내; 아래 업데이트 1 참조)
위 기사의 요약에서 더 많은 것 :
이제 C # 6은 식으로 get-only 속성 및 메서드 본문을 지정할 수있는 기능을 제공합니다. 이렇게하면 코드를보다 간결하게 만들기 위해 매우 간단한 메서드의 구문 부담을 줄일 수 있습니다.
그러나 모든 상황에서 주어진 상황에 적합한 지 판단하십시오. 식이 매우 길거나 복잡한 경우에도 전신 구문을 사용하는 것이 더 읽기 쉽습니다.
특정 언어 기능을 사용하는 것이 적절한 경우 성능 문제도 발생할 수 있으므로 성능에 대한 또 다른 인용문은 다음과 같습니다.
이제 런타임에 성능에 영향을 미치나요? 실제로 대답은 ' 아니요' 입니다. 이것은 전신을 쓰는 것과 같은 IL로 확장되는 단순히 구문 설탕입니다. 그것은 않습니다 하지 단순히 표현을 초래할 간단한 몸을 쓰는 단순화 람다 식 구문을 빌려, 대리자를 만들 수 있습니다.
(강조, 저자)
업데이트 1 : @ JörgWMittag는 말했다
말이되지 않습니다. "이것은 간단한 표현과 문장으로 제한합니까?" 응? 심지어 표현식에서만 작동합니다!
원저자가 잘못된 것으로 보인 것 같습니다. 명확히하기 위해 새롭고 향상된 C # 6.0에서 :
C # 6.0의 식 본문 함수는 구문 단순화입니다. 이들은 문장 본문이없는 함수입니다. 대신 함수 선언에 따라 표현식으로 구현하십시오.
명확히하기 위해 메서드 또는 속성을 Expression으로 만들지는 않습니다 . Expression 구문 을 사용하여 코드 줄 (및 중괄호 수)을 줄입니다.
내 원래 권장 사항은 여전히 유효합니다. 코드를 사용할 수 있기 때문이 아니라 코드를 명확하고 이해하기 쉽게 만들 때 사용하십시오.