C# 연산자 : 이해 ==와 equals ()의 차이 ()
일부 프로그래밍 시나리오에서 개발자는 동일한 컴퓨팅 (==) 및 equals () 메소드를 사용할 때 사고에 직면 할 수 있습니다. 이 차이는 ==가 위에 표시된 예제와 같이 ==가 false를 반환하고 ()를 반환하고 ()를 반환 할 때 특히 혼란 스럽습니다.
== 작업 원칙 :
객체에 적용될 때 동일 컴퓨팅 (==)은 참조 equals () 메소드에 따라 다릅니다. 간단히 말해서, 객체가 동일한 값을 가진 사본뿐만 아니라 객체가 정확히 동일인지 여부를 결정합니다.
equals () 작업 원리 :
반면에, equals () 메소드는 클래스가 기본 구현을 다시 작성할 수있는 가상 메소드입니다. 기본적으로 System.Object에서 equals ()의 값은 System.Object에서 파생됩니다. 그러나 클래스는이 동작을 다시 작성하여 특정 요구 사항에 따라 사용자 정의 비교를 제공 할 수 있습니다.
예 :
제공된 예제에서 ListBoxItem의 컨텐츠 속성은 문자열 "에너지 공격"으로 확인됩니다. ==를 사용하면이 두 문자열이 동일한 메모리 위치에 저장되지 않기 때문에 실패합니다. 그러나 문자열 값이 동일하므로 equals ()는 true를 반환합니다.
이해 차이의 중요성 :
이해 ==와 equals ()의 차이는 매우 중요하므로 우발적 인 행동을 방지하고 코드의 올바른 실행을 보장 할 수 있습니다. equals ()에 의해 구현 된 객체를 다시 작성할 가능성이 더 높으면, equals ()를 사용하는 것은 클래스의 예상 시맨틱에 따라 올바른 동일 점검을 보장하는 더 안전하고 신뢰할 수있는 방법입니다. 위 내용은 C# 객체 : 언제`==`vs.`equals ()`을 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!