알고있는 한 Class
및 Object
은 참조 유형입니다.개체는 실제로 참조 유형입니까?
은 내가 값
var myClass=new MyClass();
int myNumber = 10;
myClass.Number = myNumber;
ChangeValue(myClass);
을 두 배로 메소드를 호출 값
public void ChangeValue(MyClass classobj)
{
classobj.Number = classobj.Number*2;
}
을 변경하는 방법은 아래에 있습니다 그리고 그것은 당신이 그것을 해석 할 수있는 때와 같이 미세 인 20를 반환 될 것입니다 클래스의 객체를 만든 다음 메서드에 대한 참조를 전달하면 참조 값이 업데이트됩니다.
하지만 내 질문에 왜 개체 유형에 대한 일이되지 않습니다. 내가 객체를 만들고
object myObject = new object();
string sometext = "Some object value";
myObject = sometext;
ChangeValue(myObject)
그것이
public void ChangeValue(object objectValue)
{
objectValue = null;
}
나는 방법의 매개 변수를 알고있는 방법을 실행 한 후 값을 변경 실 거예요 아래처럼 일부 값을 할당 값 유형하지만 할 수있는 이유 즉 두 가지 참조 유형에 대해 다른 동작을한다는 것을 이해하지 못합니다.
다음을 읽으십시오 : http://www.yoda.arachsys.com/csharp/parameters.html 메소드 매개 변수 전달에 대한 설명. –
그냥 rememboer :'object'는 클래스이고 참조 유형임을 의미하는 별칭'System.Object'입니다. –
기타 : http://stackoverflow.com/questions/3272861/reference-and-value-types-scenario http://stackoverflow.com/questions/1658985/what-is-a-value-class-and-what- is-a-reference-class-in-c –