ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:值类型的功能 |
1.返回顶部 |
值类型(C# 参考)
有两种值类型:
值类型的主要功能
值类型的变量包含类型的值。 例如,int
类型的变量可以包含值 42
。 它不同于引用类型的变量,后者(也称为对象)包含对类型实例的引用。 将新的值分配到值类型的变量时,会复制该值。 将新的值分配到引用类型的变量时,会复制引用,而不复制对象本身。
所有值类型都隐式派生自 System.ValueType。
与引用类型不同,不能从值类型派生新类型。 但是,与引用类型一样,结构可以实现接口。
值类型变量不能默认为 null
。 但相应的可为空的值类型的变量可以为 null
。
每个值类型都有一个隐式无参数构造函数,用于初始化该类型的默认值。 有关值类型的默认值的信息,请参阅默认值表。
简单类型
简单类型是 C# 提供的一组预定义的结构类型,其中包括以下类型:
简单类型通过关键字标识,但这些关键字只是 System 命名空间中的预定义结构类型的别名。 例如, int 是 System.Int32 的别名。 有关别名的完整列表,请参阅内置类型表。
简单类型不同于其他结构类型,简单类型允许某些附加操作:
-
可以使用文本初始化简单类型。 例如,
'A'
是类型char
的文本,2001
是类型int
的文本。 -
可以使用 const 关键字声明简单类型的常数。 无法包含其他结构类型的常数。
-
其操作数都是简单类型常数的常量表达式在编译时进行评估。
初始化值类型
在使用 C# 中的本地变量之前,必须对其进行初始化。 例如,可以声明未初始化的本地变量,如以下示例所示:
int myInt;
在未初始化之前,无法使用。 可以使用以下语句将其初始化:
myInt = new int(); // Invoke parameterless constructor for int type.
此语句等效于以下语句:
myInt = 0; // Assign an initial value, 0 in this example.
当然,可以在同一语句中进行声明和初始化,如以下示例所示:
int myInt = new int();
- 或 -
int myInt = 0;
使用 new 运算符调用特定类型的无参数构造函数,并将默认值赋给变量。 在上述示例中,无参数构造函数将值 0
赋给 myInt
。 有关通过调用无参数构造函数所赋予的值的详细信息,请参阅默认值表。
对于用户定义类型,使用 new 调用无参数构造函数。 例如,以下语句调用 Point
结构的无参数构造函数:
var p = new Point(); // Invoke parameterless constructor for the struct.
进行此调用后,该结构被视为已明确赋值;即,它的所有成员都被初始化为其默认值。
有关 new
运算符的详细信息,请参阅 new。
有关设置数值类型的输出格式的信息,请参阅设置数值结果表的格式。
请参阅
2.返回顶部 |
3.返回顶部 |
4.返回顶部 |
5.返回顶部 |
6.返回顶部 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |