C# - 데이터 형식, 포맷팅, 이스케이프, 연산자

Network로 구조체를 주고 받으려니까.. 자꾸 Data Type이 햇갈려서 정리해봅니다.

출처 : MSDN

C# 데이터 형식
(C#Data Types)

[표 #1] C# 데이터 형식 (C# Data Types)
분  류 종  류 키워드/예약어 특  성
값 형식
Value Type
구조체형
Structs
숫자형
Numeric
sbyte 부호있는 8비트 숫자
-128 ~ 127
byte 부호없는 8비트 숫자
0 ~ 255
short 부호있는 16비트 숫자
-32,768 ~ 32,767
ushort 부호없는 16비트 숫자
0 ~ 65,535
int 부호있는 32비트 숫자
-2,147,483,648 ~ 2,147,483,647
uint 부호없는 32비트 숫자
0 ~ 4,294,967,295
long 부호있는 64비트 숫자
-9,223,372,036,854,775,808
~
9,223,372,036,854,775,807
ulong 부호없는 64비트 숫자
0
~
18,446,744,073,709,551,615
char 16비트 유니코드 문자
U+0000 ~ U+ffff
float 32비트 부동 소수점 숫자
1.5x10-45 ~ 3.4x1038
double 64비트 부동 소수점 숫자
5.0x10-324 ~ 1.7x10308
decimal 96비트 부호있는 숫자
100 ~ 1028
불런형
Boolean
bool 논리
참 (true) / 거짓 (false)
사용자 정의형
User Defined Structs
struct 사용자 정의 구조체
열거형
Enumerations
enum 열거형
참조 형식
Reference Type
클래스
Class
class 클래스 개체
(System.Object에서 파생됨)포함할 수 있는 멤버 형식
- Constructor (생성자)
- Destructor (소멸자)
- Constant (상수)
- Field (필드)
- Method (메서드)
- Property (속성; 프로퍼티)
- Indexer (인덱서)
- Operator (연산자)
- Event (이벤트)
- Delegate (델리게이트)
- Class (클래스)
- Interface (인터페이스)
- Struct (구조체)
인터페이스
Interface
interface 인터페이스
(System.Object에서 파생되지 않음)메서드, 델리게이트, 이벤트 등에 대한 규약을 명시함. 구현은 하지 않음.
델리게이트
Delegate
delegate 델리게이트다른 메서드에 대한 메서드 이름을 임의로 명명하여 사용하거나 가리키도록 할 때 사용.
개체
Object
object
Object
개체인터페이스(interface)를 제외한 모든 형식의 기본형
문자열
String
string
String
문자열유니코드 문자 집합.
문자열 값을 표현하고 다루는데 사용.
(참고 : MSDN)

 

C# 문자열 숫자형식 포맷팅
(C# Numberic Formatting)

숫자형식 포맷팅을 이용하면 숫자로 이루어진 문자열을 다양한 형태로 출력할 수 있습니다.
기본적으로 이 포맷팅은 System.String.Format 메서드에 기반하여 적용됩니다.

[표 #2] C# 숫자 형식 문자열
형식지정자종  류예제 코드출력 결과
C / c통화
Currency
Console.WriteLine("{0:C}", 2.5);
Console.WriteLine("{0:C}", -2.5);
$2.50
($2.50)
D / d10진법
Decimal
Console.WriteLine("{0:D5}", 25);00025
E / e과학적 지수
Scientific
Console.WriteLine("{0:E}", 250000);2.500000E+005
F / x고정 소수점
Fixed-point
Console.WriteLine("{0:F2}", 25);
Console.WriteLine("{0:F0}", 25);
25.00
25
G / g일반
General
Console.WriteLine("{0:G}", 2.5);2.5
N / n숫자
Number
Console.WriteLine("{0:N}", 2500000);2,500,000.00
P / p백분율
Percentage
Console.WriteLine("{0:P}", .2468013);
Console.WriteLine("{0:P1}", .2468013);
24.68 %
24.7 %
X / x16진법
Hexadecimal
Console.WriteLine("{0:X}", 250);
Console.WriteLine("{0:X}", 0xffff);
FA
FFFF
(참고 : MSDN)

 

C# 문자열 날짜형식 포맷팅
(C# Date and Time Formatting)

날짜형식 포맷팅을 이용하면 날짜나 시간을 의미하는 문자열을 다양한 형태로 출력할 수 있습니다.
기본적으로 이 포맷팅은 System.String.Format 메서드에 기반하여 적용됩니다.

[표 #3] C# 표준 날짜 및 시간 형식 문자열
형식지정자종  류예제 코드출력 결과
d간단한 날짜 패턴DateTime dt = new DateTime(2008, 12, 6);Console.WriteLine("{0:d}", dt);2008-12-06
D자세한 날짜 패턴Console.WriteLine("{0:D}", dt);2008년 12월 6일 토요일
f전체 날짜/시간 패턴
(간단한 시간)
DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);
Console.WriteLine("{0:f}", dt);
2008년 12월 6일 토요일 오후 4:03
F전체 날짜/시간 패턴
(자세한 시간)
Console.WriteLine("{0:F}", dt);2008년 12월 6일 토요일 오후 4:03:52
g일반 날짜/시간 패턴
(간단한 시간)
DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);Console.WriteLine("{0:g}", dt);2008-12-06 오후 4:03
G일반 날짜/시간 패턴
(자세한 시간)
Console.WriteLine("{0:G}", dt);2008-12-06 오후 4:03:52
M / m월 일 패턴DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);Console.WriteLine("{0:M}", dt);12월 6일
t간단한 시간 패턴DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);Console.WriteLine("{0:t}", dt);오후 4:03
T자세한 시간 패턴Console.WriteLine("{0:T}", dt);오후 4:03:52
u정렬 가능한 유니버설 날짜/시간 패턴DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);Console.WriteLine("{0:u}", dt);2008-12-06 16:03:52Z
U 유니버설 전체 날짜/시간 패턴
(국제표준시각)
Console.WriteLine("{0:U}", dt);2008년 12월 6일 토요일 오전 7:03:52
Y / y년 월 패턴DateTime dt = new DateTime(2008, 12, 6, 16, 3, 52);Console.WriteLine("{0:Y}", dt);2008년 12월
모든 예시된 출력 결과는 시스템 로케일이 '한국/한국어 ko-kr'로 설정된 경우로 가정합니다.
모든 예시된 출력 결과는 시스템 로케일 설정에 따라 다르게 출력될 수 있습니다.
(참고 : MSDN)

 

C# 문자열 이스케이프 시퀀스
(String Escape Sequences)

[표 #4] C# 문자열 이스케이프 시퀀스
이스케이프
시퀀스
문자 이름유니코드
인코딩
'작은 따옴표0x0027
"큰 따옴표0x0022
\백슬래시0x005C

댓글 남기기