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

c#
1130
2024/3/6 12:02:43
栏目: 编程语言
开发者测试专用服务器限时活动,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 用于声明静态成员,属于类本身,其值在整个应用程序生命周期内存在,且可以通过类名直接访问。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: 在C#里怎样优化数据约束的性能