美文网首页
值类型与引用类型的区别

值类型与引用类型的区别

作者: 望夜的星空 | 来源:发表于2018-03-13 16:22 被阅读0次

1.值类型(ValueType)

值类型包括:数值类型,结构体,bool型,用户定义的结构体,枚举,可空类型。

值类型的变量直接存储数据,分配在托管栈中。变量会在创建它们的方法返回时自动释放,例如在一个方法中声明Char型的变量name=’C’,当实例化它的方法结束时,name变量在栈上占用的内存就会自动释放

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

结构体:struct(直接派生于System.ValueType)。

数值类型:整型,sbyte(System.SByte的别 名),short(System.Int16),int(System.Int32),long(System.Int64),byte(System.Byte),ushort(System.UInt16),uint(System.UInt32),ulong(System.UInt64),char(System.Char)。

浮点型:float(System.Single),double(System.Double)。

财务计算的高精度decimal型:decimal(System.Decimal)。

bool型:bool(System.Boolean的别名)。

用户定义的结构体(派生于System.ValueType)。

枚举:enum(派生于System.Enum)。

可空类型(派生于System.Nullable<T>泛型结构体,T?实际上是System.Nullable<T>的别名

2.引用类型(ReferenceType)

引用类型包括:数组,用户定义的类、接口、委托,object,字符串,null类型,类。

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

数组(派生于System.Array)

用户需定义以下类型:

类:class(派生于System.Object);

接口:interface(接口不是一个“东西”,所以不存在派生于何处的问题。接口只是表示一种contract约定[contract])。

委托:delegate(派生于System.Delegate)。

object(System.Object的别名);

字符串:string(System.String的别名)。

值类型与引用类型的区别 值类型与引用类型的区别 值类型与引用类型的区别 值类型与引用类型的区别

相关文章

  • GeekBand-Swift 第一周笔记(值类型与引用类型的区别

    值类型与引用类型的区别 暂且把值类型看做 struct(结构),引用类型看做 class(类) struct在栈上...

  • JS基本类型、引用类型梳理

    原始值类型与引用值类型 ECMAScript规范中定义了变量的两种类型:原始值类型和引用值类型。区别两种类型的直接...

  • 面试

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

  • 值类型,引用类型(C#)

    1.值类型与引用类型的区别: CLR支持两只类型:引用类型和值类型。这是.NET语言的基础和关键,他们从类型定义、...

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

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

  • C#值类型和引用类型

    值类型和引用类型的区别(小结)相同点:引用类型可以实现接口,值类型当中的结构体也可以实现接口;引用类型和值类型都继...

  • javascript复习笔记一(变量类型与计算)

    变量类型:分为值类型与引用类型 一、值类型与引用类型 值类型:存储的是具体的值(undefined、Boolean...

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

    1.值类型存储在内存栈中,引用类型数据存储在内存堆中,而内存单元中存放的是堆中存放的地址。 2.值类型存取...

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

    1.值类型(ValueType) 值类型包括:数值类型,结构体,bool型,用户定义的结构体,枚举,可空类型。 值...

  • JS数据类型

    数据类型分类和区别 分类 javascript数据类型分为:值类型(基本数据类型)、引用数据类型; 区别 值类型 ...

网友评论

      本文标题:值类型与引用类型的区别

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