常量:
const 常量:
class Packet
{
const long MaxSize=1000;
}
被声明为const的变量不允许在程序中被改变,否则会产生编译错误。
并且必须初始化。
class Packet
{
const long MaxSize=Buffer.Size/2;///Buffer.Size本身就是个常量
}
初始化的值必须在编译的时候是可以被计算出来的。
并且可以包含其他的常量。
private const int x=y+z/2;
private const int y=z*2;
private const int z=4;
编译器会自动识别常量间的依赖性,只要他们不是循环依赖的。
常量的值可以在程序的任何位置被设置。
private const Punkt p=???
private const string zk="Testlauf";
常量不能为引用类型;
例外:字符串类型的常量允许使用直接的初始化(就是不用NEW)。
readonly变量
class RandomNumberGenerator
{
private readonly long seed;//初始化随机数的算法,并在构造函数中设置
}
被声明为readonly的变量直到运行时才会被计算出来。
可以在变量声明时初始化,也可以在构造函数里初始化,但是在初始化之后变量的值就是不能修改的了。
class Elektronische Transaktion
{
private readonly BenutzerDaten benutzer;//class BenutzerDaten{}
}
为了使用类对象作为常量要先分配内存空间。