본문으로 바로가기

C# 데이터형식

category Development/C# 2013. 4. 15. 17:22
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
\0 Null 0x0000
\a 경고 0x0007
\b 백스페이스 0x0008
\f 폼 피드 0x000C
\n 줄 바꿈 0x000A
\r 캐리지 리턴 0x000D
\t 가로 탭 0x0009
\U 서로게이트 쌍에 대한 유니코드 이스케이스 시퀀스 \Unnnnnnnn
\u 유니코드 이스케이프 시퀀스 \u0041 = "A"
\v 세로 탭 0x000B
\x 가변 길이를 특징으로 하는 "\u"와 유사한 유니코드 이스케이프 시퀀스 \x0041 = "A"
(출처 : MSDN)



C# 연산자
Operators
[표 #5] C# 연산자
종류 연산자 식 설명
기   본


연산자
x.y 멤버 액세스 연산자
f(x) 메서드 및 대리자 호출
a[x] 배열 및 인덱서 액세스
x++ 후위 증가
x-- 후위 감소
new T(...) 개체 및 대리자 생성
new T(...){...} 이니셜라이저(initializer)를 사용한 개체 생성.
new {...} 익명 개체 이니셜라이저.
new T[...] 배열 생성
typeof(T) T에 대한 System.Type 개체 가져오기
checked(x) checked 컨텍스트에 대한 식 계산
unchecked(x) unchecked 컨텍스트에 대한 식 계산
default (T) T 형식의 기본 값 가져오기
delegate {} 익명 함수(익명 메서드)
단   항

연산자
+x ID
-x 부정 연산
!x 논리 부정 연산
~x 비트 부정 연산
++x 전위 증가
--x 전위 감소
(T)x x를 형식 T 형식으로 명시적 변환
승   제
연산자
* 곱하기
/ 나누기
% 나머지
가   감
연산자
x + y 더하기, 문자열 연결, 대리자 결합
x - y 빼기, 대리자 제거
시프트
연산자
x << y 왼쪽 시프트
x >> y 오른쪽 시프트
관   계

형   식

연산자
x < y 보다 작음
x > y 보다 큼
x <= y 작거나 같음
x >= y 크거나 같음
x is T x가 T이면 true를 반환하고, 그렇지 않으면 false를 반환
x as T T로 형식화된 x 또는, null (x를 T로 형식화할 수 없는 경우)을 반환
같   음
연산자
x == y 같음
x != y 같지 않음
할   당

익   명

연산자
= 할당 연산자
x op= y 다음 연산자를 지원하는 복합 할당 :
+=
-=
*=
/=
%=
&=
|=
!=
<<=
>>=
(T x) => y 익명 함수 (람다 식)
논   리

조   건

null

연산자
x & y 논리곱
- 정수 비트 AND, Boolean 논리 AND
x ^ y 논리 XOR 연산자
- 정수 비트 XOR, Boolean 논리 XOR
x | y 논리 OR 연산자
- 정수 비트 OR, Boolean 논리 OR
x && y 조건부 논리곱 연산자
- x가 true인 경우에만 y를 계산.
x || y 조건부 논리합 연산자
- x가 false인 경우에만 y를 계산.
x ?? y Null 결합
- x가 null인 경우 y로 계산하고, 그렇지 않으면 x로 계산.
x ? y : z x가 true이면 y로 계산되고, x가 false이면 z로 계산.
(출처 : MSDN)

 

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

enum의 Flag 연산  (0) 2014.05.15
XAML 요소의 네임스페이스와 CLR 타입 매핑  (0) 2014.05.09
구성파일(Configuration File)  (0) 2013.04.11
Enum 변환  (0) 2013.02.13
LINQ Sample  (0) 2013.01.31