| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
将引用类型对象作为值参数传递 
如果在方法内创建一个新对象并赋值给形参,将切断形参与实参之间的关联,并且在方法调用结束后,新对象也将不复存在。 
namespace 引用类型作为值传递实例              //声明命名空间 
{ 
    class Program                         //声明类 
    { 
        static void Main(string[] args)  //主函数入口 
        { 
            MyClass a1 = new MyClass();   //实例化类 
            Console.WriteLine("Before method call:        {0}",a1.Val);//输出结果 
            RefAsParameter(a1);              //方法调用 
            Console.WriteLine("After method call:         {0}",a1.Val);  //输出结果 
            Console.ReadKey();            //按任意键退出 
        } 
        static void RefAsParameter(MyClass f1)  //声明无返回值方法 
        { 
            f1.Val = 50;                  //赋值 
            Console.WriteLine("After member assignment:   {0}",f1.Val);//输出结果 
            f1 = new MyClass();             //实例化类 
            Console.WriteLine("After new object creation: {0}",f1.Val);//输出结果 
        } 
    } 
    class MyClass //声明类 
    { 
        public int Val = 20; //公共整型变量赋值 
    } 
} 
输出结果: 
Before method call:               20 
After member assignment:    50 
After new object creation:     20 
After method call :                 50 
 
 
 |   
 
 
 
 |