C#中的static到底有什么用?
在C#中经常出现很多修饰词如
Static int a;
public const int a;
Public在类里面可以理解,为什么在单个变量定义的时候也加上去?到底有什么特别好处?
函数定义也是
static void Fun()
{}
到底这些修辞词加上后有什么作用?
在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为在内外读入的数据?
静态成员,哪来就能用,不用创建对象,运行效率高。
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: 谢谢,我昨天试了一下,直接用下面的定义就可以了
public int NZ
{
get{return NX*NY;}
}
说明是静态成员,eg:静态类在程序运行时就创建了,静态字段,在第一次访问归属类时创建
Static int a,是Private static int a 的缩写 可以类名直接调用,静态变量,方法,属性,所有类的实例共享这一个,不会变的
调用方式而已
静态字段,当你创建一个类时,这个静态字段只创建一次,如果你还要创建一个该类的话,这个静态的变量不在创建直接使用上次创建了的变量。