C #의 참조 ID는 무엇입니까? [복제]

Dec 08 2020

연산자 (==)와 Equals () 메서드의 차이점을 찾고 있습니다. 많은 리소스에서 연산자 (==)가 참조 ID를 비교한다고 말합니다. 실제로 참조 ID는 무엇입니까?

답변

OlivierRogier Dec 08 2020 at 21:48

중복 된 것 외에도 질문이 내가 찾은 것보다 더 전문적이기 때문에이 답변을 게시합니다.

간단히 말해서, 참조 신원은 우편 주소 나 물 한 잔과 같이 두 변수가 동일한 내용을 가리 키거나 그렇지 않기 때문에 메모리 주소가 같음입니다. 참조는 관리하는 것을 잊을 수있는 숨겨진 포인터이기 때문입니다.

GC는 또한 메모리에있는 개체의 인스턴스 관리를 용이하게하고 더 이상 사용하지 않는 개체를 제거 / 해제하는 것을 잊어 버리는 위의 레이어입니다.

연산자 ==는 참조 대신 값을 비교하기 위해 오버로드 될 수 있으므로 on object Equals()및 ReferenceEquals()메서드가 있습니다.

다음은 몇 가지 자습서입니다.

C #-데이터 형식

C #-변수

값 유형 및 참조 유형

CLR 개체의 참조 횟수는 어떻게 얻습니까?