部分类、值类型、引用类型、const、readonly、const和枚举

来源:互联网 发布:js防水涂料i型 编辑:程序博客网 时间:2024/05/16 05:12

部分类:

1.被partial关键字修饰的类叫做部分类或者伙伴类

2.C#编译器在编译的时候会将伙伴类编译成1个类 所以在另外1个伙伴类中定义的成员变量可以在这个伙伴类中访问。

3.必须要在同一个命名空间下面 类的名字要一致。

 

值类型和引用类型:

值类型:结构体、枚举、数值类型(int double、float、long......) char、bool

引用类型:数组、string、类

 

只有引用类型的变量的值才可以为null

引用类型的变量的值如果为null,代表这个变量不指向堆空间的任何对象。

 

const:

const修饰的数据叫做常量

常量一旦声明常量的值就不能改变。

常量在声明的时候必须要赋初始值

C#编译器在编译的时候,声明常量的那句话不见了, 在使用常量的地方就用常量的值代替了。

某些数据在整个程序的运行过程中其值不会发生改变,我们就把值定义为常量以提高程序的运行效率。

 

readonly:

readonly string name;//只读变量

只读变量的值只能在构造函数中改变,在其他地方不能改变。

readonly是运行时确定值。

const编译的时候确定值。

 

枚举:

使用enum关键字来定义1个枚举。

枚举里面只能定义枚举成员 每1个成员用逗号隔开。

枚举的成员不需要用引号引起来,直接写就可以了。

给枚举赋值的时候,只能用枚举点出来

枚举是一个值类型

每一个枚举成员都对应了一个整形的数值 这个数值默认从0开始依次递增。

可以通过强制转换得到该枚举值代表的数值。

可以通过强制转换将1个整型的数字强转为其所代表的枚举值。

例:int i=3; Direction dir=(Direction)i;

可以手动为每一个枚举成员赋值其所代表的整型数值。

enmu Direction

{

Ease=1,

West=0,

Sourth=2,

North=3

}

将字符串转换为枚举值

string str=“East”;

Direction d=(Direction)Enum.Parse(typeof(Direction),str);

忽略大小写的转换:

Direction d=(Direction)Enum.Parse(typeof(Direction),str,true);

将枚举值转换为字符串:ToString(d);

格式字符串 结果
G 或 g
 如有可能,将枚举项显示为字符串值,否则显示当前实例的整数值。如果枚举定义中设置了 Flags 属性,则串联每个有效项的字符串值并将各值用逗号分开。如果未设置 Flags 属性,则将无效值显示为数字项。
F 或 f
 如有可能,将枚举项显示为字符串值。如果值可以完全显示为枚举项的总和(即使未提供 Flags 属性),则串联每个有效项的字符串值并将各值用逗号分开。如果值不能完全由枚举项确定,则将值格式化为整数值。
D 或 d
 以尽可能短的表示形式将枚举项显示为整数值。
X 或 x
 将枚举项显示为十六进制值。按需要将值表示为带有前导零,以确保值的长度最少有八位。

枚举值所对应的数值默认是int类型

可以在枚举的名字前面加1个“:”来指定这个数值的类型,只能是整型的。

enmu Direction:byte(或int等)

{

Ease=1,

West=0,

Sourth=2,

North=3

}

 

 

 

 

 

 

 

 

0 0
原创粉丝点击