在C#中,readonly
关键字用于声明只读字段,这意味着该字段的值只能在声明时或在构造函数中初始化,之后不能再修改。以下是readonly
关键字的完整攻略。
声明只读字段
可以使用readonly
关键字声明只读字段。例如:
public class MyClass
{
public readonly int myReadOnlyField;
public MyClass(int value)
{
myReadOnlyField = value;
}
}
在上述示例中,myReadOnlyField
是只读字段,它的值只能在声明时或在构造函数中初始化。
只读属性
可以使用readonly
关键字声明只读属性。例如:
public class MyClass
{
private readonly int myReadOnlyProperty;
public int MyReadOnlyProperty
{
get { return myReadOnlyProperty; }
}
public MyClass(int value)
{
myReadOnlyProperty = value;
}
}
在上述示例中,MyReadOnlyProperty
是只读属性,它的值只能在声明时或在构造函数中初始化。
示例1:只读字段
以下是一个只读字段的示例,它演示了如何在声明时初始化只读字段:
public class MyClass
{
public readonly int myReadOnlyField = 10;
public void PrintReadOnlyField()
{
Console.WriteLine("The value of myReadOnlyField is {0}", myReadOnlyField);
}
}
在上述示例中,myReadOnlyField
是只读字段,它的值在声明时初始化为10。PrintReadOnlyField
方法打印myReadOnlyField
的值。
示例2:只读属性
以下是一个只读属性的例,它演示了如何在构造函数中初始化只读属性:
public class MyClass
{
private readonly int myReadOnlyProperty;
public int MyReadOnlyProperty
{
get { return myReadOnlyProperty; }
}
public MyClass(int value)
{
myReadOnlyProperty = value;
}
public void PrintReadOnlyProperty()
{
Console.WriteLine("The value of MyReadOnlyProperty is {0}", MyReadOnlyProperty);
}
}
在上述示例中,MyReadOnlyProperty
是只读属性,它的值在构造函数中初始化。PrintReadOnlyProperty
方法打印MyReadOnlyProperty
的值。
总结
readonly
关键字用于声明只读字段或只读属性,它们的值只能在声明时或在构造函数中初始化,之后不能再修改。只读字段和只读属性可以提高代码的可读性和安全性。