가능한 중복 :!
Why must we define both == and != in C#?오버로드 + = +, ==와 = 연산자를
왜에만 + 과부하에 의해 + = 수의 오버로드되지만 == 및! = 별도로 과부하가 걸립니까?
거꾸로 처리해야합니다.
= 새로운 개체에 메모리를 할당 할 필요가 없기 때문에 오버로드가 거의 항상 효과적입니다. 하지만 연산자 ==와! =는 결과 Equals()를 반전하는 것 이외에는 다른 것으로되어야하는 예제를 만들 수 없습니다.
+1'+'와'+ ='를 별도로 오버로드 할 수있는 경우를 상상해보십시오 ... –
C#과 .net이 변경 가능한 구조의 악의적 인 일을하지 않으면 (변경 가능한 구조체는 악의가 아닙니다. 그것들과 같은 것들이 있습니다.) 또는 클래스가 객체에 대한 참조의 악의없는 무차별 공유를 제한하도록 허용 한 경우, + 연산자를 사용하면 +와 + 연산자를 별도로 사용하는 것이 유용 할 수 있습니다. 원본은 그대로두고, "+ ="는 원본을 수정할 수 있음을 의미합니다. 참고로, 이벤트가 "+ ="및 "- ="을 지원하지만 "+"및 "-"는 지원하지 않습니다. – supercat