c#中静态字段和非静态字段以static标识区分,主要区别是静态字段可以直接以类名.字段名方式使用,而非静态字段必须创建类实例才可以使用,示例如下:
class Program
{
static void Main(string[] args)
{
Console.WriteLine(test.v1);
Console.WriteLine((new test()).v2);
}
}
class test
{
public static string v1
{
get
{
return "v1";
}
}
public string v2
{
get
{
return "v2";
}
}
}
另外,静态字段在装载程序集的时候就分配内存空间,而非静态字段要在实例初化时候才分配内存空间。
区别一:
普通字段要实例化才能使用,没有实例化不能使用。静态字段反之。如:
name字段的使用:
cla1 i = new cla1();
i.name = "张三";
sex字段的使用:
cla1.sex = "男";
区别二:
普通字段要在实例化时候才分配内存空间,而静态字段在装载程序集的时候就分配内存空间了