【黑马程序员】C#笔记之值类型和引用类型

来源:互联网 发布:国内餐饮软件排名 编辑:程序博客网 时间:2024/04/30 08:48

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

值类型:

        属于值类型的有:所有数值类型、char、bool、枚举和结构。

        值类型的变量存储在栈空间,这个变量的值直接存储在栈空间的变量中.

        在传递值得时候,同样会将变量里的值拷贝一份 由于变量里存储的是真实的值,所以修改第2个变量的时候 不会影响原来变量的值

 

引用类型:

       属于引用类的有:string、array、class。

       引用类型的数据的变量存储在栈空间,真实的值(对象)存储在堆空间中, 栈空间的变量里存储的是堆空间里的对象的地址.

        变量声明在栈里面,真实的对象存储在堆里面,栈里面的变量存储的是对象的地址。

        在传递值的时候,会将变量里的值拷贝1份,进行传递,由于变量里面存储的是引用地址,所以传递变量之后, 第2个变量里面存储的也是这个地址,但是这个地址指向的对象和原来的变量指向的是同1个对象,所以对 第2个变量进行修改会影响到原来的变量的值.

 

值类型和引用类型的区别:

        因此,值类型和引用类型的区别在于,值类型的变量直接存放实际的数据,而引用类型的变量存放的则是数据的地址,即对象的引用。


---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

0 0
原创粉丝点击