高手请进来: object对象作为函数参数的疑问??

来源:百度知道 编辑:UC知道 时间:2024/07/07 20:22:19
有一个主函数myMain(),这个函数中定义了一个类myData的对象myObj,对象中含有一些int,double,string等数据,我将myObj赋值给一个object对象para,然后将para作为参数传给了新线程TestThread调用的方法newMethod,语句如下:

object para=myObj;
Thread TestThread = new Thread(new ParameterizedThreadStart
(newMethod) );

TestThread.Start(para);

然后我在newMethod函数中,将para还原成类myData的对象:

myData d=(myData)para;

这样,主函数myMain()中myObj的数值就被传递到子函数newMethod中了。

请问:object对象作为函数参数传入newMethod函数中,是以拷贝的形式还是以引用的方式??换句话说:在newMethod函数中改变了d的值,主函数myMain()中myObj的数值也会改变吗??

这涉及到了装箱和拆箱的问题
它是隐式装箱
一般拆箱的时候都会还原成你放进去的对象类型
这是属于引用

在newMethod函数中改变了d的值,主函数myMain()中myObj的数值也会改变吗??

值不会改变
建议你看下指针