>백엔드 개발 >C++ >C# 문자열 비교 : 언제 == equals ()와 다릅니 까?

C# 문자열 비교 : 언제 == equals ()와 다릅니 까?

DDD
DDD원래의
2025-02-01 18:56:08310검색

이해 C# ==와 equals () 의 차이 에서 C#에서는이 상황에 직면 할 수 있습니다. 이 동작을 이해하려면 이러한 연산자의 근본적인 차이를 마스터해야합니다. C# String Comparison: When Does == Differ From Equals()?
객체에 사용될 때 == 연산자의 값은 system.object.referenseequals입니다. 이것은 두 개의 문자열 객체가 메모리에서 동일한 객체를 참조하는지 여부를 확인합니다. 대신 equals ()는 사용자 정의 유형 (문자열 포함)으로 다시 작성할 수있는 가상 메소드입니다.

문자열의 경우 equals ()의 다시 쓰기 버전을 사용하여 문자열의 실제 내용을 확인하십시오. 따라서 두 개의 문자열을 동일한 문자와 비교하지만 다른 메모리 위치에 저장된 경우, ==는 같은 객체에서 참조되지 않기 때문에 False로 돌아갑니다.

코드 예 : 다음 코드 조각을 고려하십시오 이 코드 에서이 두 조건은 선택한 ListBoxItem의 컨텐츠 속성을 문자열 "에너지 공격"과 비교합니다. equals ()의 첫 번째 조건은 true로 계산되지만 컨텐츠 속성이 새 문자열 객체 인 경우 ==의 두 번째 조건은 False로 계산 될 수 있습니다. == 운영자 점검 식별과 동일한 값을 가진 두 개의 다른 문자열 객체가 다르기 때문입니다.

따라서 C#에서 문자열의 동일한 특성을 비교할 때 equals () 메소드를 사용하는 것이 좋습니다 (로고를 확인).

위 내용은 C# 문자열 비교 : 언제 == equals ()와 다릅니 까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.