在C#中,const 和 static 都用于定义类成员,但有着不同的用途和行为。
- const:用于声明编译时常量。常量在编译时被解析并替换为其实际值,因此它们的值在运行时是不可改变的。常量必须在声明时进行初始化,并且只能在声明时初始化。常量成员必须是静态的,因此它们只属于类,而不属于类的实例。常量成员可以在类的任何位置访问,无需实例化类。
示例:
public class MyClass { public const int MyConstant = 100; }
在其他地方使用常量:
int value = https://www.yisu.com/ask/MyClass.MyConstant;>
- static:用于声明静态成员。静态成员属于类本身,而不是类的实例。静态成员在类被加载时创建,并且在整个应用程序的生命周期内存在。它们可以通过类名直接访问,无需实例化类。静态成员可以是字段、方法、属性或事件。
示例:
public class MyClass { public static int MyStaticField; public static void MyStaticMethod() { // 静态方法的实现 } }在其他地方使用静态成员:
MyClass.MyStaticField = 10; MyClass.MyStaticMethod();总结:
- const 用于声明编译时常量,其值在运行时不可改变,且必须在声明时初始化。
- static 用于声明静态成员,属于类本身,其值在整个应用程序生命周期内存在,且可以通过类名直接访问。