在C#中,const和readonly都用于创建常量,但它们有一些重要的区别。以下是详细讲解以及相应实例代码。
const关键字用于创建编译时常量,必须在声明时初始化。class Program
{
// 编译时常量
const int ConstValue = 10;
static void Main()
{
Console.WriteLine(ConstValue);
}
}
readonly关键字用于创建运行时常量,可以在构造函数中初始化。readonly通常用于表示在类的实例生命周期内保持不变的值。class Program
{
// 运行时常量
readonly int ReadOnlyValue;
// 构造函数中初始化
public Program()
{
ReadOnlyValue = 20;
}
static void Main()
{
Program program = new Program();
Console.WriteLine(program.ReadOnlyValue);
}
}
const当你有一个编译时就可以确定的常量值。readonly当你有一个在运行时确定的常量值,尤其是在构造函数中初始化。const用于编译时常量,readonly用于运行时常量。选择使用哪个关键字取决于常量值何时可知。