📜  c# readonly - C# (1)

📅  最后修改于: 2023-12-03 14:59:40.697000             🧑  作者: Mango

C# Readonly关键字

C#中有一个readonly关键字,它用于定义只读字段或只读局部变量。只读字段或变量的值只能在声明时或构造函数内赋值,之后都不能更改。只读可以保证变量的不可变性,从而提高了程序的稳定性和可靠性。

只读字段

我们可以在类中定义只读字段,如下所示:

public class MyClass
{
    public readonly string name;

    public MyClass(string _name)
    {
        name = _name;
    }
}

在上面的代码中,我们定义了一个只读字段name,并在构造函数中对其进行初始化。在类的其它方法中,我们不能对name进行修改,否则会出现编译错误。

只读局部变量

我们也可以在方法中定义只读局部变量,如下所示:

public void MyMethod()
{
    readonly int num = 10;

    // 编译错误,不能修改只读变量的值
    num = 20;

    Console.WriteLine(num);
}

在上面的代码中,我们定义了一个只读局部变量num,并在赋值后尝试对其进行修改,这时会出现编译错误。

特点总结
  • 只读字段或变量的值只能在声明时或构造函数内赋值,之后都不能更改。
  • 只读可以保证变量的不可变性,从而提高了程序的稳定性和可靠性。
总结

readonly是C#中用于定义只读字段或局部变量的关键字。只读可以保证变量的不可变性,从而提高了程序的稳定性和可靠性。在使用时需要注意,只读字段或变量的值只能在声明时或构造函数内赋值,之后都不能更改。