Unity&C#/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)

  • 정수 범위: 01
  • 표기법: 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

'Unity&C# > C#' 카테고리의 다른 글

[C#] Console  (1) 2024.10.14
[C#] Operator Precedence  (0) 2024.10.14
[C#] dotNet  (2) 2024.10.14
[C#] BitOperation  (1) 2024.10.14
[C#] Reflection  (0) 2024.10.14