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 / d | 10진법 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 / x | 16진법 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 |



