美文网首页
C#学习笔记——值类型与引用类型的区别

C#学习笔记——值类型与引用类型的区别

作者: 阿克西亚 | 来源:发表于2018-05-26 01:57 被阅读6次

    值类型 ValueType

    值类型包括了数值类型、结构体、bool型、 枚举等。值类型的变量直接存储数据,分配在托管栈中。
    变量会在创建他们的方法返回时自动释放,如:

    Char name="C"
    

    当实例化它的方法结束时,name变量在栈上占用的内存就会自动释放。

    C#的所有值类型均隐式派生于System.ValueType。

    引用类型 ReferenceType

    引用类型包括数组、接口、委托、onjrct、字符串、null类型、类等。

    引用类型的变量持有的是数据的引用,数据存储在数据堆,分配在托管堆中,变量并不会在创建它们的方法结束时释放内存,它们所占用的内存会被CLR中的垃圾回收机制释放。

    值类型与引用类型的区别

    image.png

    值传递只传递值,不影响原始值

    引用传递传递的是内存地址,修改后会改变内存地址对应储存的值

    相关文章

      网友评论

          本文标题:C#学习笔记——值类型与引用类型的区别

          本文链接:https://www.haomeiwen.com/subject/vxppjftx.html