c#中const和static的区别是什么

avatar
作者
筋斗云
阅读量:0

在C#中,const 和 static 都用于定义类成员,但有着不同的用途和行为。

  1. const:用于声明编译时常量。常量在编译时被解析并替换为其实际值,因此它们的值在运行时是不可改变的。常量必须在声明时进行初始化,并且只能在声明时初始化。常量成员必须是静态的,因此它们只属于类,而不属于类的实例。常量成员可以在类的任何位置访问,无需实例化类。

示例:

public class MyClass {     public const int MyConstant = 100; } 

在其他地方使用常量:

int value = MyClass.MyConstant; 
  1. static:用于声明静态成员。静态成员属于类本身,而不是类的实例。静态成员在类被加载时创建,并且在整个应用程序的生命周期内存在。它们可以通过类名直接访问,无需实例化类。静态成员可以是字段、方法、属性或事件。

示例:

public class MyClass {     public static int MyStaticField;      public static void MyStaticMethod()     {         // 静态方法的实现     } } 

在其他地方使用静态成员:

MyClass.MyStaticField = 10; MyClass.MyStaticMethod(); 

总结:

  • const 用于声明编译时常量,其值在运行时不可改变,且必须在声明时初始化。
  • static 用于声明静态成员,属于类本身,其值在整个应用程序生命周期内存在,且可以通过类名直接访问。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!