Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 필드를 읽기 전용으로 표시하면 어떤 이점이 있습니까?

<시간/>

readonly 키워드는 멤버 변수를 상수로 선언하는 데 사용되지만 런타임에 값을 계산할 수 있습니다. 이것은 const 수정자로 선언된 상수와 다릅니다. 이 상수는 컴파일 시간에 값을 설정해야 합니다. readonly를 사용하면 선언 또는 해당 필드가 속한 개체의 생성자에서 필드 값을 설정할 수 있습니다.

'readonly' 수정자는 총 4가지 컨텍스트에서 사용할 수 있습니다.

  • 필드 선언

  • 읽기 전용 구조체 선언

  • 읽기 전용 멤버 정의

  • 참조 읽기 전용 메서드 반환

필드 선언 컨텍스트를 사용할 때 할당이 발생할 수 있는 유일한 시간은 선언될 때 또는 동일한 클래스의 생성자가 호출될 때라는 것을 알아야 합니다.

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

읽기 전용 구조체

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