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 |