在 C# 中将字段标记为只读有什么好处?


readonly 关键字用于将成员变量声明为常量,但允许在运行时计算该值。这不同于使用 const 修饰符声明的常量,它必须在编译时设置其值。使用 readonly,你可以将字段值设置在声明中,或在该字段所在的对象的构造函数中设置。

'readonly' 修饰符可以在总共四种情况下使用

  • 字段声明

  • 只读结构声明

  • 只读成员定义

  • 引用只读方法返回值

当我们使用字段声明时,我们需要知道分配只能在声明或调用同类构造函数时发生。

示例

class Program{
   readonly string Name;
   public Program(){
      Name = "Name";
   }
   static void Main(string[] args){
      Program a = new Program();
      System.Console.WriteLine(a.Name);
      Console.ReadLine();
   }
}

输出

Name

readOnly 结构

public readonly struct Server{
   public readonly string Name;
   public Server(string name){
      Name = name;
   }
}
class Program{
   static void Main(string[] args){
      Server a = new Server("Domain Controller");
      System.Console.WriteLine(a.Name);
      Console.ReadLine();
   }
}

输出

Domain Controller

更新日期:2020 年 11 月 7 日

463 次浏览

开启你的 职业

通过完成本课程获取认证

开始
广告