一周学会C#(类三)

王朝c#·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

一周学会C#(类三)

C#才鸟(QQ:249178521)

8.常量字段

· 常量字段...

w 隐含为static

w 必须在声明时初始化

w 必须被初始化为编译时常量值

w 只有简单类型,枚举,字符串才可以是常量

class Pair

{

public Pair(int x, int y)

{

// ???

}

...

private const int x = 0, y = 0;

}

在C#中,常量字段隐含为static,但你不能显式声明一个常量字段是static:

static const int x = 0;//错误

常量必须被初始化,并且只能在声明时初始化:

const int x;//错误

常量必须被初始化为编译时常量值:

const int x = Method();//错误

只有简单类型,枚举,字符串才能被声明为常量:

const Pair p = new Pair();//错误

9.静态构造函数

· 静态构造函数初始化类

w 可以初始化static 字段而不是const 字段

w 当类被装载时由.net调用

w 不能被调用:没有参数,没有访问修饰符

class Pair

{

public static readonly Pair Origin;

public Pair(int x, int y)

{

this.x = x;

this.y = y;

}

static Pair()

{

Origin = new Pair(0, 0);

}

private int x, y;

}

静态构造函数只能由.net调用,而不能由程序员调用。这保证它会被调用,只被调用一次,并且在恰当的时候被调用(在任何类或类被使用前)。因为程序员不能调用静态构造函数,所以静态构造函数没有参数。出于同样的原因,静态构造函数不能有访问修饰符。

静态构造函数不能被用来初始化常量字段,即使常量字段隐式为静态的。因为前面说过,常量字段必须被初始化,而且只能在它声明的时候初始化。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航