在C#中,static关键字有以下几种用法:
静态类(static class):使用static关键字来定义一个静态类。静态类只能包含静态成员(方法、属性、字段等),不能被实例化,也无法继承其他类。静态类通常用于提供一组相关的工具方法或者全局访问点。
静态成员(static member):使用static关键字来定义一个静态成员(方法、属性、字段等)。静态成员属于类而不是实例,可以通过类名直接访问,而不需要创建类的实例。静态成员在内存中只有一份拷贝,不会因为创建多个实例而重复分配内存。
静态构造函数(static constructor):使用static关键字来定义一个静态构造函数。静态构造函数在类第一次被使用之前自动调用,用于初始化静态成员。静态构造函数没有参数,也不能被直接调用,只能在运行时由CLR自动调用。
静态属性(static property):使用static关键字来定义一个静态属性。静态属性属于类而不是实例,可以通过类名直接访问,而不需要创建类的实例。静态属性可以提供类级别的访问控制和计算逻辑。
静态字段(static field):使用static关键字来定义一个静态字段。静态字段属于类而不是实例,可以通过类名直接访问,而不需要创建类的实例。静态字段在内存中只有一份拷贝,不会因为创建多个实例而重复分配内存。静态字段可以用于保存类级别的状态信息。
总的来说,static关键字用于指示某个成员或者类属于类级别而不是实例级别,并且可以通过类名直接访问。