자료형 정리표
⭐bool | true , false | false | 1 byte | |
⭐string | 문자열 | " " 로 감싸야 함 | null | 계속 변함 |
char | 문자 | ' ' 로 감싸야 함 | '\0' | 2 byte |
sbyte | 8bit 정수 (부호 없음) | -128 ~ 127 | 0 | 1 byte |
byte | 8bit 정수 | 0 ~ 255 | 0 | 1 byte |
short | 16bit 정수 | –32,768 ~ 32,767 | 0 | 2 byte |
ushort | 16bit 정수 (부호 없음) | 0 ~ 65,535 | 0 | 2 byte |
⭐int | 정수 | –2,147,483,648 ~ 2,147,483,647 | 0 | 4 byte |
uint | 정수 (부호 없음) | 0 ~ 4,294,967,295 | 0 | 4 byte |
long | 64bit 정수 | –9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | 0 | 8 byte |
ulong | 64bit 정수 (부호 없음) | 0 ~ 18,446,744,073,709,551,615 | 0 | 8 byte |
⭐float | 실수 | 1.5E-45 ~ 3.4E+38 (7자리 유효) ( 뒤에 f를 붙여야함) | 0 | 4 byte |
double | 실수 | 5.0E-324 ~ 1.7E+308 (15자리 유효) 0.000000000000001d 뒤에 d를 붙여야 하지만 붙이지 않더라도 double로 인식 | 0 | 8 byte |
Decimal | 실수 | ±1.0 x 10-28 ~ ±7.9228 x 1028 28-29개의 자릿수 | 0 | 16 byte |
- 다양한 자료형이 존재하는 이유는, 각각 차지하는 메모리의 크기가 다르기 때문이다.
- .NET 데이터 타입이 포함된 표도 포함.
bool | System.Boolean | True or False |
byte | System.Byte | 8비트 unsigned integer |
sbyte | System.SByte | 8비트 signed integer |
short | System.Int16 | 16비트 signed integer |
int | System.Int32 | 32비트 signed integer |
long | System.Int64 | 64비트 signed integer |
ushort | System.UInt16 | 16비트 unsigned integer |
uint | System.UInt32 | 32비트 unsigned integer |
ulong | System.UInt64 | 64비트 unsigned integer |
float | System.Single | 32비트 single precision 부동소수점 숫자 |
double | System.Double | 64비트 double precision 부동소수점 숫자 |
decimal | System.Decimal | 128비트 Decimal |
char | System.Char | 16비트 유니코드 문자 |
string | System.String | 유니코드 문자열 |
System.DateTime | 날짜와 시간, 별도의 C# 키워드가 없음 | |
object | System.Object | 모든 타입의 기본 클래스로 모든 유형을 포함할 수 있음 |
산술 연산
+ | 더하기 |
- | 빼기 |
* | 곱하기 |
/ | 나누기 |
% | 나머지 |
++ | 증가 |
-- | 감소 |
논리 연산
> | a > b | a 가 b보다 크면 true | |
>= | a >= b | a 가 b보다 크거나 같으면 true | |
< | a < b | b 가 a보다 크면 true | |
<= | a <= b | b 가 a보다 크거나 같으면 true | |
== ⭐⭐ | a == b | a 와 b 가 같으면 true | =와 헷갈리면 안됨. |
!= | a != b | a 와 b 가 다르면 true | |
&& | a && b | 두가지 조건이 모두 만족하면 true | |
|| | a || b | 둘 중 하나만 만족하면 true |
리터럴 데이터
C# 코드에서 123, true, "ABC" 와 같이 값을 직접 써줄 수 있는데 이를 리터럴(Literal)이라고 한다.
특정 데이터 타입(int,decimal등)을 지정하고 싶으면 리터럴 데이터 뒤에 지정 접미어(suffix)를 추가해야한다.
// Bool
bool b = true;
// Numeric
short sh = -32768;
int i = 2147483647;
long l = 1234L; // L suffix
float f = 123.45F; // F suffix
double d1 = 123.45;
double d2 = 123.45D; // D suffix
decimal d = 123.45M; // M suffix
// Char/String
char c = 'A';
string s = "Hello";
// DateTime 2011-10-30 12:35
DateTime dt = new DateTime(2011, 10, 30, 12, 35, 0);
- flaot 데이터 타입은 F를 붙여 double이 아닌 float 타입임을 나타낸다.
- double 타입은 숫자 뒤에 D를 붙이거나, 아무것도 붙이지 않음으로서 double타입임을 나타낸다.
- decimal 타입은 숫자 뒤에 M을 붙여 diclmal 타입임을 나타낸다.
- char 타입은 작은 따옴표' 를 사용하여 한 문자를 할당한다.
- string 타입은 큰 따옴표" 를 사용하여 문자열을 할당한다.
숫자형 데이터 타입의 최대값, 최소값은 이렇게 알아볼 수 있다.
int i = int.MaxValue;
float f = float.MinValue;
NULL
어떤 변수가 메모리 상에 어떤 데이터도 가지고 있지 않다는 의미로 NULL을 사용한다.
NULL을 표현하기 위하여 C#에서는 소문자 null 이라는 키워드를 사용한다.
모든 데이터 타입이 NULL을 가질 수 있는건 아니다.
데이터 타입은 NULL을 가질 수 있는 타입(Refrence 타입)과 가질 수 없는 타입(Value 타입) 으로 구분될 수 있다.
참조사이트
https://learn.microsoft.com/ko-kr/dotnet/csharp/
https://www.csharpstudy.com/CSharp/CSharp-datatype.aspx