Language/C#
[C#] Literal
리네엔
2024. 10. 14. 22:45
Lexical structure - C# language specification | Microsoft Learn
정수형 리터럴
1. 10진수 리터럴 (Decimal Integer Literal)
- 정수 범위:
0
~9
- 예시:
123
,1_000_000
(언더스코어_
사용 가능) - 타입 접미사:
U
또는u
: 부호 없는 정수L
또는l
: long 타입 정수UL
또는ul
: 부호 없고 long 타입 정수
- 예시:
42U
: 부호 없는 정수42L
: long 타입 정수42UL
: 부호 없고 long 타입 정수
2. 16진수 리터럴 (Hexadecimal Integer Literal)
- 정수 범위:
0
~9
,A
~F
- 표기법:
0x
또는0X
로 시작 - 타입 접미사: 10진수와 동일 (
U
,L
,UL
) - 예시:
0xFFU
: 부호 없는 16진수0XFFL
: long 타입 16진수
3. 2진수 리터럴 (Binary Integer Literal)
- 정수 범위:
0
과1
- 표기법:
0b
또는0B
로 시작 - 타입 접미사: 10진수와 동일 (
U
,L
,UL
) - 예시:
0b1101U
: 부호 없는 2진수0B1010L
: long 타입 2진수
실수형 리터럴
1. 기본 소수점 리터럴
- 형태:
숫자.숫자
- 타입 접미사:
F
,D
,M
(float, double, decimal) - 예시:
123.456
1.23_456F
(float 타입)12.34E10
(지수 표기법)0.001D
(double 타입)
2. 소수점 앞에 숫자가 없는 리터럴
- 형태:
.숫자
- 예시:
.456
.789f
(float 타입).001E3
(지수 표기법)
3. 지수 표기법만 사용된 리터럴
- 형태:
숫자e지수
- 예시:
1e5
3.14e-2F
(float 타입)5E10D
(double 타입)
Character 리터럴
1. 기본 구조
- 작은 따옴표(
'
)로 감싼 단일 문자 - 형식:
'문자'
- 예시:
'A'
,'z'
,'7'
2. 문자 유형
- 단일 문자:
'A'
,'7'
,'@'
- 단순 이스케이프 시퀀스:
'\''
: 작은 따옴표 자체를 표현'\\'
: 역슬래시 자체를 표현'\n'
: 줄 바꿈 (newline)'\t'
: 탭 (tab)'\r'
: 캐리지 리턴 (carriage return)'\b'
: 백스페이스 (backspace)'\0'
: null 문자'\a'
: 경고음 (alert)'\f'
: 폼 피드 (form feed)'\v'
: 수직 탭 (vertical tab)
- 16진수 이스케이프:
'\x41'
(A),'\x7A'
(z) - 유니코드 이스케이프:
'\u0041'
(A),'\u03A9'
(Ω)
String 리터럴
1. 일반 문자열 리터럴 (Regular String Literal)
- 형식:
"문자열"
- 문자:
"
,\
, 줄 바꿈 제외 - 이스케이프 시퀀스:
- 단순 이스케이프:
\n
,\t
,\\
,\"
- 16진수 이스케이프:
\x41
(A) - 유니코드 이스케이프:
\u0041
(A)
- 단순 이스케이프:
- 예시:
"Hello, World!"
"Line 1\nLine 2"
2. Verbatim 문자열 리터럴 (Verbatim String Literal)
- 형식:
@"문자열"
- 문자: 모든 문자 포함 가능,
"는 두 번 연속 표시
- 예시:
@"C:\Program Files\MyApp"
@"This is a ""quoted"" word."
자료형 | .NET 데이타 타입 | 크기 (바이트) | 범위 |
---|---|---|---|
sbyte | System.SByte | 1 | -128 ~ 127 |
byte | System.Byte | 1 | 0 ~ 255 |
short | System.Int16 | 2 | -32,768 ~ 32,767 |
ushort | System.UInt16 | 2 | 0 ~ 65,535 |
int | System.Int32 | 4 | -2,147,483,648 ~ 2,147,483,647 |
uint | System.UInt32 | 4 | 0 ~ 4,294,967,295 |
long | System.Int64 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
ulong | System.UInt64 | 8 | 0 ~ 18,446,744,073,709,551,615 |
float | System.Single | 4 | ±1.5 × 10^-45 ~ ±3.4 × 10^38 |
double | System.Double | 8 | ±5.0 × 10^-324 ~ ±1.7 × 10^308 |
decimal | System.Decimal | 16 | ±1.0 × 10^-28 ~ ±7.9 × 10^28 |
char | System.Char | 2 | 유니코드 문자 |
string | System.String | 유니코드 문자열 | |
bool | System.Boolean | 1 | true 또는 false |