프로그래밍/.NET2013. 2. 9. 16:30

CONST

const는 변수의 정의와 함께 초기화되어야 하는 상수


1.반드시 선언 시 그 값을 할당

일반적인 멤버 변수는 선언 시 값을 할당하지 않아도 자료형에 따른 기본 값이 자동 할당. 반면 const 상수는 선언 시 반드시 그 값을 할당(초기화).


2.한번 값이 할당되면 이후 변경 불가능


3.자동으로 static

const로 선언한 상수는 자동으로 static 변수가 됩니다.


READONLY

readonly는 추가적으로 클래스의 static 생성자에서 초기하할 수 있는 상수


1.선언 시 값을 할당하지 않아도 가능

선언 시 초기화를 하지 않아도 됩니다.


2.생성자에서 한번 더 그 값을 변경 가능

생성자에서 한번 더 그 값을 변경할 수 있습니다.


3.static이 아니다

객체 상수. 클래스의 인스턴스로 생성된 객체를 통해서 접근할 수 있습니다.


4.참조 형식 상수 선언(읽기전용 필드)

public readonly int[] array = new int[] { 1, 2 };


example.cs

class Sample  
{  
    public const int TheConst = 1;  
    public static readonly int TheStaticReadonly;  
  
    static Sample()  
    {  
        TheStaticReadonly = 1;  
    }  
}  



출처 - MKEX Dev.NET


'프로그래밍 > .NET' 카테고리의 다른 글

[C#]Delegate  (0) 2013.02.10
[C#]LINQ to XML  (0) 2013.02.09
[C#]const, readonly 상수  (1) 2013.02.09
[C#]DataTable -> CSV 변환  (0) 2013.02.07
[C#, MySQL]CSV파일의 데이터를 DB Export  (0) 2013.02.07
[C#]ThreadPool  (0) 2013.02.05
Posted by 건깡

댓글을 달아 주세요

  1. cwj

    내용중에 오해할수있는 내용이 있어 댓글답니다.

    'readonly는 추가적으로 클래스의 static 생성자에서 초기화할 수 있는 상수'
    이 부분에서 굳이 static 생성자가 아니여도 생성자 이기만하면 초기화 할수있습니다.

    2021.01.06 16:17 [ ADDR : EDIT/ DEL : REPLY ]