C#

Code:
  1. 首先我定义了一个类:   
  2. sealed  class UserModel   
    •     {   
    •         private string _UserName;   
    •         private int _UserAge;   
    •   
    •              public int UserAge   
    •         {   
    •             get { return _UserAge; }   
    •             set { _UserAge = value; }   
    •         }   
    •                public string UserName   
    •         {   
    •             get { return _UserName; }   
    •             set { _UserName = value; }   
    •         }   
    •                public UserModel(string name, Int32 age)   
    •         {   
    •             UserName = name;   
    •             UserAge = age;   
    •         }   
    •               public  void DisplayMember()   
    •         {   
    •             Console.WriteLine("UserName:{0},UserAge:{1}",this.UserName,this.UserAge);   
    •         }   
    •   
    •          public static void SendUserDateByValue(UserModel user)   
    •        {   
    •            user.UserAge = 34;   
    •            user = new UserModel("周宇朝", 21);   
    •        }   
    •     }   
    •   
    • Main函数:   
    •            UserModel Model = new UserModel("优快云", 10);   
    •             UserModel.SendUserDateByValue(Model);   
    •             Model.DisplayMember();   
    •             Console.ReadLine(); 

这里传入的是引用,在复制的过程中,复制了指向调用者的对象的引用。 这里传入的其实是一个引用,在复制的过程中,复制了指向调用者的对象的引用,在调用SendUserDataByValue()方法与调用者指向同一个对象,所以可以改变状态数据,但是在调用的方法体内,重新实例化,却是不行的。Andrew Troelsen的书中写道:If a reference type is passed by value, the callee may change the values of the object’s state data but not the object it is referencing. 如果按值传递引用类型,被调用者可能改变对象的状态数据的值,但不能够改变所引用的对象。

    评论
    成就一亿技术人!
    拼手气红包6.0元
    还能输入1000个字符
     
    红包 添加红包
    表情包 插入表情
     条评论被折叠 查看
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值