讲解一下“参数传递”(c#)

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:45:26
学好就c#了,我就是不理解值传递和引用传递是怎么一回事。
有人能用通俗的语言讲解一下吗?

这不是c#,c#的参数传递永远是引用传递,当然int,byte,bool这些东西不算。只要是你需要调用构造函数生成实例的对象都是引用传递的。
值传递的意思就好比,你跟我要蛋糕,我买了一个送给你。
引用传递就是,我把蛋糕放在箱子里,告诉你那个箱子在那。
所以实际效果就是,值传递,不管那个函数对那个参数做了什么,在调用者那里,那个参数仍然不会变
而引用传递,那个函数对参数做的所有改变都将在调用者那里体现

我觉得是这样的,在C#里面,每一个变量名相当于传统C/C++里的指针。
1、简单点,通俗点吧,每一个变量名相当于一把房门钥匙,变量本身(变量存储的内存空间)相当与房子。
2、值传递就是你问我要的房子(对应的操作就是 your_var=my_var;),我就找(不管是买还是新建)一套和我的房子户型(变量类型)和装修家具(变量的实际值)一模一样,但是不在同一地方的房子,然后把新房子的钥匙给你。所以你用这把钥匙(your_var)操作的是一个和我的房子(my_var对应的变量)类型、数据“相等”的房子,但不是“相同”的一个。
3、引用传递就是你问我要的房子(对应的操作就是your_adduction=my_adduction;),我把你的钥匙(your_adduction)配得和我的钥匙(my_adduction)一样,这样你使用你的钥匙(your_adduction)打开(操作)的就是和我“相同”的一个房子。