A-Dyu의 개발 일기장
[C#] 리터럴 본문
리터럴이란 소소 코드상에서 직접적으로 값을 나타내는 고정된 값들을 의미한다.
12나 "string"처럼 어떤 값인지 그 자체로 표현하는 모든 식별자를 뜻한다.
상수랑 헷갈릴 수 있지만, 리터럴과 상수는 개념적으로 차이가 있다.
리터럴은 소스 코드 상에서 값이 고정되며, 표현이 바뀌면 그에 따라 값이 바뀐다.
즉 특정 표현은 어떤 코드라도, 어떤 프로젝트라도 절대로 값이 바뀌지 않는다.
즉, 이미 소스 코드에 작성한 순간부터 값이 정해진 것이라고 보면 된다.
하지만 상수(const)는 컴파일 시점에 값이 결정되며, 컴파일 전까진 값이 유동적으로 변한다.
즉 const는 컴파일 시점에 리터럴로 바뀌어 컴파일된다. 실제로 컴파일 된 IL코드를 보면 모든 const값이 리터럴로 바뀐걸 볼 수 있다.
리터럴은 다양한 표현식이 있으며, 정수, 실수, 문자 리터럴 등이 있다.
//진수 접두사
int i1 = 42; // 10진수
int i2 = 0x2A; // 16진수 (접두사 `0x`)
int i3 = 0b101010; // 2진수 (접두사 `0b`)
//정수 형식 지정
long l = 42L; // long 형식
uint ui = 42U; // unsigned int 형식
ulong ul = 42UL; // unsigned long 형식
//실수 형식 지정
float f = 0.0f; //float 형식
double d = 0.0d; //double 형식
double d2 = 0.0; //double 형식 (디폴트)
decimal dec = 0.0m; //decimal 형식
//문자열 형식 지정
string str = "Hello"; //string 형식
char c = 'c'; //char 형식
//논리형 리터럴
bool b = true; //bool 형식
//null 리터럴
string str2 = null; //null 형식
'C#' 카테고리의 다른 글
[C#] Enum을 플래그로 사용하기 (0) | 2025.01.18 |
---|---|
[C#] List를 배열의 특정 부분에 전체 또는 일부 복사하기. (0) | 2024.07.30 |
[C#] C#에서 지원하는 자료구조들 (0) | 2024.07.29 |
[C#] 값의 집합을 저장하는 HashSet(해시셋) 클래스 (0) | 2024.07.29 |