c#将变量分为字段和局部变量两种情况。其中,声明为类级别的变量看做是字段,而把方法中声明的变量看做是局部变量。

变量修饰符由于描述对变量的访问级别和是否为静态变量。

public:变量可以作为所属类的一个字段,在程序任何地方均可被访问;

internal:变量只能在当前程序中被访问;

protected:变量只能在所属类型中被访问,或者在派生该类的其他类中被访问;

protected internal:变量只能在当前程序中被访问,或者在派生该类的其他类中被访问;

private:变量只能在所属类型中被访问,默认情况下是这种访问级别。

new:主要用于从其他类中继承而来的类,并隐藏该类中的其他字段;

readonly:变量被标记为只读(初始化后值不可变)。只读变量不能作为引用或输出参数传递给方法,但在构造函数中除外;

static:为静态标识符。自变量声明开始至包含该声明的程序结束,变量始终有效,程序其他地方可访问。使用static属于类本身,而不是属于特定对象静态成员,static修饰符可用于字段、方法、属性、运算符、事件和构造函数,但不能用于索引器、析构函数或类。