제목이 오해의 소지가 있으므로 전체 질문을 읽으십시오 :-) .
"복합 할당 연산자"에 의해 op=
, 예를 들어 이와 같은 구성을 염두에두고 +=
있습니다. 순수 할당 연산자 ( =
)는 내 질문에 속하지 않습니다.
"왜"라는 말은 의견이 아니라 일부 디자이너 나 동료 등이 자신의 추론을 표현할 때 자원 (책, 기사 등)을 의미합니다 (예 : 디자인 선택의 원천).
비대칭 C에서 발견 ++ 및 C # (로 나는 의아해하고 그래, 내가 알고있는 C #이 아닌 C ++ 2.0 ) - C ++에서 당신이 연산자를 오버로드 할 +=
다음 거의 자동으로 적절한 쓰기 +
이전에 정의 된 연산자에 의존 연산자. C #에서이 역 - 당신은 과부하 +
및 +=
당신을 위해 합성된다.
내가 실수하지 않으면, 나중의 접근법은 실제 +=
객체의 경우 새로운 객체를 만들어야하기 때문에 최적화 기회를 없애 줍니다. 따라서 이러한 접근 방식에는 큰 이점이 있지만 MSDN은 너무 부끄럽습니다.
그리고 그 장점이 무엇인지 궁금합니다. 따라서 C # 서적, 기술 관련 비디오, 블로그 항목에서 설명을 발견하면 참조 해 주셔서 감사합니다.
내가 찾은 가장 가까운 것은 Eric Lippert 블로그에 대한 의견입니다. 왜 과부하 연산자는 C #에서 항상 정적입니까? 톰 브라운. 정적 과부하가 먼저 결정되면 구조체에 과부하가 걸리는 연산자를 지시합니다. 이것은 클래스에 과부하가 걸리는 것을 더 지시합니다.
*=
으로 참조 유형을 변경하는 것은 의미 상 올바르지 않습니다.
+=
먼저 터무니없는 것 같습니다. 왜 결합 된 작업이 아닌 결합 된 작업에 과부하가 걸리겠습니까?