Computer >> Máy Tính >  >> Lập trình >> C#

Lợi ích của việc đánh dấu một trường là chỉ đọc trong C # là gì?

Từ khóa readonly được sử dụng để khai báo một biến thành viên là một hằng số, nhưng cho phép giá trị được tính toán trong thời gian chạy. Điều này khác với một hằng được khai báo bằng công cụ sửa đổi const, phải có giá trị được đặt tại thời điểm biên dịch. Sử dụng chỉ đọc, bạn có thể đặt giá trị của trường trong khai báo hoặc trong phương thức khởi tạo của đối tượng mà trường là thành viên.

Công cụ sửa đổi 'chỉ đọc' có thể được sử dụng trong tổng số bốn ngữ cảnh:

  • Khai báo trường

  • Khai báo cấu trúc chỉ đọc

  • Định nghĩa thành viên chỉ đọc

  • Phương thức trả về chỉ đọc tham chiếu

Khi chúng ta sử dụng ngữ cảnh khai báo trường, chúng ta cần biết rằng thời gian duy nhất việc gán có thể xảy ra là khi nó được khai báo hoặc khi hàm tạo của cùng một lớp được gọi.

Ví dụ

Chương trình lớp
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();
   }
}

Đầu ra

Name

readOnly Struct

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();
   }
}

Đầu ra

Domain Controller