C#_函数参数的值传递和引用传递笔记

函数参数的值传递和引用传递笔记

      首先C# 是完全面对对象的高级语言 。 主要有2种基础数据类型且都继承于Object,都在C++的基础上做了封装,都有着类似C++类对象

的感觉。这2种基础数据类型的互相转换会造成(装箱和拆箱操作,这里就不做过多说明了。)。

    值类型包含:数值类型int  float  等),bool , 枚举, 结构体 ,可空类型等;

    引用类型包含:数组 (Array),Class ,接口 ,object ,字符串等;

   一:值传递做参数传递进入函数

      会在函数体类创造一个新的拷贝来进行操作,不影响原有数据类型中的值。

   二:引用传递做参数传递进入函数

      只是复制这个对象本身,即复制其地址值,而不是它指代的对象。

二者的区别:

    值传递时,系统首先为被调用方法的形参分配内存空间,并将实参的值按位置一一对应地复制给形参,此后,被调用方法中形参值得任何改变都不会影响到相应的实 参;

    引用传递时,系统不是将实参本身的值复制后传递给形参,而是将其引用值(即地址值)传递给形参,因此,形参所引用的该地址上的变量与传递的实参相同,方 法体内相应形参值得任何改变都将影响到作为引用传递的实参。

猜你喜欢

转载自www.cnblogs.com/Roz-001/p/11050424.html