美文网首页
C# 值类型和引用类型的区别

C# 值类型和引用类型的区别

作者: 串串香 | 来源:发表于2017-10-17 11:51 被阅读0次

C#里把数据类型分为两大类,值类型和引用类型

值类型

值类型就是包含实际数据的量,当定义一个值类型的变量时,C#会根据声明的类型,以栈的方式分配存储区给这个变量,变量的读写操作就直接在这块区域进行
值类型包括 :基本数据类型(int double 等),结构,枚举

引用类型

一个引用类型的变量,不存储他们所代表的真实数据,而是存储真实数据的引用。引用类型分两步创建,1,首先在栈上创建引用变量,然后在堆上创建对象本身,再把这个内存的句柄(内存的地址)赋给引用变量
引用类型包括:接口,数组,Object类型,类,委托,字符串,Null类型

总结

1.值类型存储在内存的栈中,引用类型存储在内存的堆中
2.值类型存取速度快,引用类型存取速度慢
3.值类型表示实际的数据,引用类型表示指向内存堆中的指针或者引用
4.值类型继承自System.ValueType,引用类型继承自System.Object
5.栈的内存分配自动释放;而堆在C#中需要GC释放

相关文章

  • 第一部分:C#语言基础

    第1章 C#类型基础 C#中的两种类型:值类型和引用类型 1.1 值类型和引用类型 值类型包括了结构和枚举,引用类...

  • C# 装箱,拆箱,向上转型,向下转型

    c#中,数据类型分为值类型和引用类型,装箱和拆箱属于值类型和引用类型间的转换操作。 装箱:值类型向引用类...

  • 第一天:C# 值类型、引用类型、装箱与拆箱

    C#中类型分为两类: 值类型(Value Type) 引用类型(Reference Type) 值类型和引用类型是...

  • C#——类的定义与使用(2)

    值类型和引用类型 从数据存储的角度,C#的数据类型可以分为值类型(value type)和引用类型(referen...

  • C# 值类型和引用类型

    《CLR via C#》作者Jeffrey Richter的话来说,“不理解【引用类型】和【值类型】区别的程序员将...

  • 面试

    值类型和引用类型 值类型和引用类型的区别是值类型直接存储其值,而引用类型存储对值的引用。这两种类型存储在内存的不同...

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

    1.值类型和引用类型的区别(例如:struct 是值类型,class 是引用类型):

  • C#中的值类型和引用类型

    一.C#中的值类型和引用类型 概念 值类型直接存储其值。 引用类型存储对值的引用。 说起来有些拗口,其本质是Val...

  • 第三章 类型和变量

    C# 有两种类型:值类型和引用类型。值类型的变量直接包含数据,而引用类型的变量则存储对数据(称为“对象”)的引用。...

  • C#的值类型和引用类型

    c#中值类型和引用类型是可以相互转换的。将值类型转化为引用类型的过程称为装箱,反之,将引用类型转换为值类型的过程称...

网友评论

      本文标题:C# 值类型和引用类型的区别

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