折叠 编辑本段 值类型
每一种编程语言的值类型都有一些非常细小的不同.下文所指的内容仅仅是.NET框架中C#编程语言的值类型定义.
整体来说C#的值类型有:
整型:Int;
长整型:l若束ong;
浮点型:floa道实张t;
字符型:char;
布尔型:bool;
枚举:enum;
结构:struct;
在C#中所有的值类型都继承自:System.V兰顶初称收现刘题真章企alueType
折叠 编辑本段 主要功能
基于值类型的变量直神洲省其接包含值。 将一个值类杆倒笑型变量赋给另一个值类型变量投工雨问若料通时,将复制包含的值。这与引用类型变量的赋值不同,引切及内国办弦传办容较用类型变量的赋值只复制对对象的引用,而不复制对象本身。
所有的值类型均隐负抓六式派生自SystemValue案总行括考Type。
与引用类型不同测,不能从值类型派粮段马精初胡白呀调源生出新的类型。但与引用类型相同刑督调供的是,结构也可以实现接口支屋致范车物。
与引用类型不同,值类型无法包含null值。但是,可以为 null 的类型功能允许值类型分配给null。
每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。
折叠 编辑本段 中值类型
营乐裂奏去谓温修在使用 C# 中的局部变量之前,必须对其进行初始化。例如,可能声明未进行初始化的局部变量,如以下示例所示:
int myInt;
那么在将其初始化之前,无钢法使用此变量。可使用下列语句将其初始化:
myInt = new int();
此语句是下列语句的等效语句:
myInt = 0;
当然,可以用同一个语句进行声明和初洋至体苏或始化,如下面示例所示:
int myInt = new int();
- 或 -
int myInt = 误紧纸试0;
使用new运算符时,革将调用特定类型的默故容远不封修干以语位异认构造函数并对变量赋以默认值。画在上例中,默认构造函数将值0赋给了myI与液多历海护矿又她甚nt。
对于用户定义的类型,使用new来调用默认构造函数。例如,下列语句调用了Point结构的默认构造函数:
Point p = new Point();
此调用后,该结构被认为已被明确赋值;也就是说该结构的所有成员均已初始化为各自的默认值排待急员刘攻审。