当前位置首页 > 百科资料> 正文

值类型

2022-06-27 02:51:46 百科资料

值类型这个概念经常出现在类似C#,JAVA等编程语言的书籍中."值类型"直接将内存存储在栈内,由系统自动释放资源的数据类型.

与值类型相对应的有引用类型.C#语言中还对应指针类型.

  • 中文名称 值类型
  • 学科 C#,JAVA等编程语言
  • 领域 计算机
  • 对应 引用类型

值类型

  每一种编程语言的值类型都有一些非常细小的不同.下文所指的内容仅仅是.NET框架中C#编程语言的值类型定义.

  整体来说C#的值类型有:

  整型:Int;

  长整型:long;

  浮点型:float;

  字符型:char;

  布尔型:bool;

  枚举:enum;

  结构:struct;

  在C#中所有的值类型都继承自:System.ValueType

主要功能

  基于值类型的变量直接包含值。 将一个值类型变量赋给另一个值类型变量时,将复制包含的值。这与引用类型变量的赋值不同,引用类型变量的赋值只复制对对象的引用,而不复制对象本身。

  所有的值类型均隐式派生自SystemValueType。

  与引用类型不同,不能从值类型派生出新的类型。但与引用类型相同的是,结构也可以实现接口。

  与引用类型不同,值类型无法包含null值。但是,可以为 null 的类型功能允许值类型分配给null。

  每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。

中值类型

  在使用 C# 中的局部变量之前,必须对其进行初始化。例如,可能声明未进行初始化的局部变量,如以下示例所示:

  int myInt;

  那么在将其初始化之前,无法使用此变量。可使用下列语句将其初始化:

  myInt = new int();

  此语句是下列语句的等效语句:

  myInt = 0;

  当然,可以用同一个语句进行声明和初始化,如下面示例所示:

  int myInt = new int();

  - 或 -

  int myInt = 0;

  使用new运算符时,将调用特定类型的默认构造函数并对变量赋以默认值。在上例中,默认构造函数将值0赋给了myInt。

  对于用户定义的类型,使用new来调用默认构造函数。例如,下列语句调用了Point结构的默认构造函数:

  Point p = new Point();

  此调用后,该结构被认为已被明确赋值;也就是说该结构的所有成员均已初始化为各自的默认值。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:baisebaisebaise@yeah.net