Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:值类型的功能

ylbtech-Docs-.NET-C#-指南-语言参考-关键字-内置类型-值类型:值类型的功能
1.返回顶部
1、

值类型(C# 参考)

有两种值类型:

值类型的主要功能

值类型的变量包含类型的值。 例如,int 类型的变量可以包含值 42。 它不同于引用类型的变量,后者(也称为对象)包含对类型实例的引用。 将新的值分配到值类型的变量时,会复制该值。 将新的值分配到引用类型的变量时,会复制引用,而不复制对象本身

所有值类型都隐式派生自 System.ValueType

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

值类型变量不能默认为 null。 但相应的可为空的值类型的变量可以为 null

每个值类型都有一个隐式无参数构造函数,用于初始化该类型的默认值。 有关值类型的默认值的信息,请参阅默认值表

简单类型

简单类型是 C# 提供的一组预定义的结构类型,其中包括以下类型:

简单类型通过关键字标识,但这些关键字只是 System 命名空间中的预定义结构类型的别名。 例如, int 是 System.Int32 的别名。 有关别名的完整列表,请参阅内置类型表

简单类型不同于其他结构类型,简单类型允许某些附加操作:

  • 可以使用文本初始化简单类型。 例如,'A' 是类型 char 的文本,2001 是类型 int 的文本。

  • 可以使用 const 关键字声明简单类型的常数。 无法包含其他结构类型的常数。

  • 其操作数都是简单类型常数的常量表达式在编译时进行评估。

有关详细信息,请参阅 C# 语言规范中的简单类型部分。

初始化值类型

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

C#
int myInt;

在未初始化之前,无法使用。 可以使用以下语句将其初始化:

C#
myInt = new int();  // Invoke parameterless constructor for int type.

此语句等效于以下语句:

C#
myInt = 0;         // Assign an initial value, 0 in this example.

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

C#
int myInt = new int();

- 或 -

C#
int myInt = 0;

使用 new 运算符调用特定类型的无参数构造函数,并将默认值赋给变量。 在上述示例中,无参数构造函数将值 0 赋给 myInt。 有关通过调用无参数构造函数所赋予的值的详细信息,请参阅默认值表

对于用户定义类型,使用 new 调用无参数构造函数。 例如,以下语句调用 Point 结构的无参数构造函数:

C#
var p = new Point(); // Invoke parameterless constructor for the struct.

进行此调用后,该结构被视为已明确赋值;即,它的所有成员都被初始化为其默认值。

有关 new 运算符的详细信息,请参阅 new

有关设置数值类型的输出格式的信息,请参阅设置数值结果表的格式

请参阅

2、
2.返回顶部
 
3.返回顶部
 
4.返回顶部
 
5.返回顶部
1、
2、
 
6.返回顶部
 
warn 作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/storebook/p/11839967.html