이해를 이해합니다
C#의 객체 통과 메커니즘은 종종 혼란을 유발합니다. 참조 유형은 일반적으로 메드 내 변경이 원래 객체에 영향을 미치기 위해 허용하지만 는 고유 한 상황을 나타냅니다. 행동을 명확히하자. System.Drawing.Image
.
System.Drawing.Image
a 를 대체하는 변경 사항 (예 : 새 이미지를 할당)을 메소드 외부에는 반영되지 않습니다. 메소드가 참조 사본으로 작동하기 때문입니다. 메소드 내에서 참조를 재 할당하면 원본을 변경하지 않은 채로 새 참조를 만듭니다.
패스 바이 값 대 통과 참조
키워드를 명시 적으로 사용하여 회의별로 강제로 강제 할 수 있습니다. Pass-by-Value (기본값) : 메소드는 참조 사본 (참조 유형) 또는 값 (값 유형)의 사본을 수신합니다. 메소드 내에서 매개 변수에 대한 변경 사항은 원본에 영향을 미치지 않습니다.
Pass-by-reference (/System.Drawing.Image
) : 메소드는 원래 객체 또는 변수에 직접 액세스합니다. 발신자에게 변경 사항이 표시됩니다
예시 코드 예제 : System.Drawing.Image
는 차이를 보여줍니다. 첫 번째 버전은 원본 이미지를 변경하지 않습니다. 두 번째. 그러나
위 내용은 System.Drawing.image 객체가 C# 메소드로 전달되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!