C#: 주요 메모

주요 타입

정수

타입 이름 최소값 최대값 특징
byte 0 255 부호 없는 8비트 정수
sbyte -128 127 부호 있는 8비트 정수
short -32768 32767 부호 있는 16비트 정수
ushort 0 65535 부호 없는 16비트 정수
int -2147483648 2147483647 부호 있는 32비트 정수
uint 0 4294967295 부호 없는 32비트 정수
long -9223372036854775808 9223372036854775807 부호 있는 64비트 정수
ulong 0 18446744073709551615 부호 없는 64비트 정수
BigInteger - - 최소·최대값이 없는 큰 정수
System.Numerics 이름공간에 정의됨.

실수

타입 이름 최소값 최대값 특징
float -3.4028235E+38 3.4028235E+38  
double -1.7976931348623157E+308 1.7976931348623157E+308  
decimal -79228162514264337593543950335 79228162514264337593543950335  

플래그

타입 이름 최소값 최대값 특징
bool false true 논리값
enum - - 구체적인 타입으로 상속받아야 한다.

문자

타입 이름 특징
char 문자 작은 따옴표로 감싼다.
string 문자열 큰 따옴표로 감싼다.

날짜·시간

타입 이름 특징
DateTime  
TimeSpan  
DateOnly 날짜만 표현 (C# 10 이상)
TimeOnly 시간만 표현 (C# 10 이상)

기타

타입 이름 특징
Guid 전역적 고유 식별자
nint 플랫폼 종속 정수형 (C# 9 이상)
nuint 부호 없는 플랫폼 종속 정수형 (C# 9 이상)

비트 연산자

  표현 B5 B4 B3 B2 B1 B0 D
예제 변수 x 0 0 0 1 1 0 6
예제 변수 y 0 0 1 1 0 0 12
논리 AND 연산자 & x & y 0 0 0 1 0 0 4
논리 OR 연산자 | x | y 0 0 1 1 1 0 14
논리 베타적 OR 연산자 ^ x ^ y 0 0 1 0 1 0 10
비트 보수 연산자 ~ ~x 1 1 1 0 0 1 9
비트 이동 연산자 << x << 1 0 0 1 1 0 0 12
  x << 2 0 1 1 0 0 0 24
비트 이동 연산자 >> x >> 1 0 0 0 0 1 1 3
  x >> 2 0 0 0 0 0 1 1

논리 및 비트 연산자 우선순위

  1. 비트 보수 연산자 ~
  2. 시프트 연산자 <<, >>, >>>
  3. 논리 AND 연산자 &
  4. 논리 배타적 OR 연산자 ^
  5. 논리 OR 연산자 |