在C#中,readonly
关键字用于声明一个变量,该变量在初始化后不能被修改。这意味着一旦为readonly
变量分配了值,它的值就不能再更改。readonly
变量可以在声明时或在构造函数中进行初始化。
以下是readonly
变量的赋值规则:
- 声明
readonly
变量时,必须在同一作用域内为其分配初始值。例如:
public class MyClass
{
public readonly int MyVariable;
public MyClass(int value)
{
MyVariable = value;
}
}
在这个例子中,MyVariable
在声明时被赋予了一个初始值。
readonly
变量也可以在构造函数中进行初始化。但是,必须在构造函数体中为其分配值。例如:
public class MyClass
{
public readonly int MyVariable;
public MyClass(int value)
{
MyVariable = value;
}
}
在这个例子中,MyVariable
在构造函数中被赋予了一个初始值。
readonly
变量必须在声明时或在构造函数中被初始化,而不能在其他方法中进行修改。例如:
public class MyClass
{
public readonly int MyVariable;
public MyClass(int value)
{
MyVariable = value;
}
public void SetValue(int newValue)
{
// MyVariable = newValue; // 这将导致编译错误,因为readonly变量不能被修改
}
}
在这个例子中,尝试在SetValue
方法中修改MyVariable
的值将导致编译错误。