首页 新闻 会员 周边 捐助

C#中的static到底有什么用?

0
悬赏园豆:5 [已解决问题] 解决于 2013-03-30 12:42

C#中的static到底有什么用?

在C#中经常出现很多修饰词如

Static int a;

public const int a;

Public在类里面可以理解,为什么在单个变量定义的时候也加上去?到底有什么特别好处?

函数定义也是

static void Fun()

{}

到底这些修辞词加上后有什么作用?

c#
问题补充:

在C里面有这样的定义

#define NX 15

#define NY 15

#define NZ NY*NX

在C#中我尝试在类使用

private int nx;

public int NX

{

get{return nx;}

set{nx=value;}

}

private int ny;

public int NY

{

get{return ny;}

set{ny=value;}

}

public int NZ

{

get{return ny;}

set{ny=NX*NY;}

}
在外面运行时候
class1 kk=new class1();
kk.NX=1;
kk.NY=2;
console.write(kk.NZ);
结果输出0;
除非定义kk.NZ=0后,再输出结果就正常了,为什么会这样
到底要怎么定义NZ=NX*NY??

public const int Value =10000;在类外就不能调用了,为什么?

另外在类中如何定义

一个三维数组

int cres[NX][NY][NZ]其中NX、NY、NZ为在内外读入的数据?

ZGHAPPY的主页 ZGHAPPY | 菜鸟二级 | 园豆:207
提问于:2013-03-29 12:05
< >
分享
最佳答案
0

静态成员,哪来就能用,不用创建对象,运行效率高。

收获园豆:5
Luke Zhang | 菜鸟二级 |园豆:293 | 2013-03-29 12:34

public int NZ

{

get{return ny;}

set{ny=NX*NY;}

}这种写法不对,应该是

private int nz;

public int NZ

{

get{nz=NX*NY;return nz;}

set{nz = value;}

}

Luke Zhang | 园豆:293 (菜鸟二级) | 2013-03-30 01:02

@Luke Zhang: 谢谢,我昨天试了一下,直接用下面的定义就可以了

public int NZ

{

get{return NX*NY;}

}

ZGHAPPY | 园豆:207 (菜鸟二级) | 2013-03-30 11:51
其他回答(4)
0

说明是静态成员,eg:静态类在程序运行时就创建了,静态字段,在第一次访问归属类时创建

滴答的雨 | 园豆:3660 (老鸟四级) | 2013-03-29 12:17
0

Static int a,是Private static int a 的缩写 可以类名直接调用,静态变量,方法,属性,所有类的实例共享这一个,不会变的

圆 豆 | 园豆:112 (初学一级) | 2013-03-29 12:18
0

调用方式而已

Qlin | 园豆:2403 (老鸟四级) | 2013-03-29 13:13
0

静态字段,当你创建一个类时,这个静态字段只创建一次,如果你还要创建一个该类的话,这个静态的变量不在创建直接使用上次创建了的变量。

BattleHeart | 园豆:211 (菜鸟二级) | 2013-03-29 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册