如何在 C# 中定义常量

常量是在编译时设置其值并且永远不能更改其值的字段。 使用常量可以为特殊值提供有意义的名称,而不是数字文本(“幻数”)。

注意

在 C# 中,不能以 C 和 C++ 中通常采用的方式使用 #define 预处理器指令定义常量。

若要定义整型类型(intbyte 等)的常量值,请使用枚举类型。 有关详细信息,请参阅枚举

若要定义非整型常量,一种方法是将它们分组到一个名为 Constants 的静态类。 这要求对常量的所有引用都在其前面加上该类名,如下例所示。

示例

static class Constants
{
    public const double Pi = 3.14159;
    public const int SpeedOfLight = 300000; // km per sec.
}

class Program
{
    static void Main()
    {
        double radius = 5.3;
        double area = Constants.Pi * (radius * radius);
        int secsFromSun = 149476000 / Constants.SpeedOfLight; // in km
        Console.WriteLine(secsFromSun);
    }
}

使用类名限定符有助于确保你和使用该常量的其他人了解它是常量并且不能修改。

请参阅