-- C#
const vs readonly
어린왕자악꿍
2011. 5. 13. 10:31
C#에서 상수를 정의하는 방법은 const, readonly로 지정하는 두 방법이 있다.
여기서 const는 컴파일타임상수이고, readonly는 런타임상수라고 한다.
즉,
const는 변수의 정의 시 값을 지정하는 상수이고,
readonly는 클래스의 생성자에서 값을 지정하는 상수이다.
class UserMax
{
public const int Max_Num = 1000;
public readonly int Max_Line;
public UserMax(int i) { Max_Line = i; }
}
UserMax um = new UserMax(500);
즉, 상수를 정의할 때 실행 중에 상수의 값이 정해지는 케이스를 만들기 위해 readonly라는 개념이 도입된 것이고,그 외의 상수는 const를 사용하면 된다. 실제로 const가 컴파일 시에 값이 정의되므로 수행속도가 약간 빠르다.
참조 : http://blog.naver.com/whtjddnr87?Redirect=Log&logNo=40126396708
참조 : http://blog.naver.com/knight50?Redirect=Log&logNo=80097560775
여기서 const는 컴파일타임상수이고, readonly는 런타임상수라고 한다.
즉,
const는 변수의 정의 시 값을 지정하는 상수이고,
readonly는 클래스의 생성자에서 값을 지정하는 상수이다.
class UserMax
{
public const int Max_Num = 1000;
public readonly int Max_Line;
public UserMax(int i) { Max_Line = i; }
}
UserMax um = new UserMax(500);
즉, 상수를 정의할 때 실행 중에 상수의 값이 정해지는 케이스를 만들기 위해 readonly라는 개념이 도입된 것이고,그 외의 상수는 const를 사용하면 된다. 실제로 const가 컴파일 시에 값이 정의되므로 수행속도가 약간 빠르다.
참조 : http://blog.naver.com/whtjddnr87?Redirect=Log&logNo=40126396708
참조 : http://blog.naver.com/knight50?Redirect=Log&logNo=80097560775