[c#] 자료형

정영훈·2022년 8월 24일
0

C#프로그래밍

목록 보기
5/29

기본 자료형

정수 숫자 형식

형식크기범위
sbyte1byte-128 ~ 127
byte1byte0 ~ 255
short2byte-32,768 ~ 32,767
ushort2byte0~65535
int4byte-2,147,483,648 ~ 2,147,483,647
uint4byte0 ~ 4,294,967,295
long8byte-8,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
ulong8byte0 ~ 18,446,744,073,709,551,615

형식에 u가 붙는 것은 unsigned의 줄임말로, 부호없는 양수를 의미한다.

int a = 10;
long b = 4543456199;
Console.WriteLine($"a:{a} b:{b}");

부동 소수점 숫자 형식

C# 형식/키워드 근사 범위 전체 자릿수 Size .NET 형식
float ±1.5 x 10−45 ~ ±3.4 x 1038 ~6-9개 자릿수 4바이트 System.Single
double ±5.0 × 10−324 ~ ±1.7 × 10308 ~15-17개 자릿수 8바이트 System.Double
decimal ±1.0 x 10-28 ~ ±7.9228 x 1028 28-29개의 자릿수 16바이트 System.Decimal

부동 소수점은 c#에서 double형 실수 상수로 인식한다. 자료형을 float이나 decimal로 사용하려면 접미사 'f' 또는 'm'을 적어주어야 한다.

float a;
a = 3.14f; //float형은 접미사 f를 붙여야 한다.
double b;
b = 3.14;
decimal c; 
c = 3.14213123123m; //decimal형은 접미사 m을 붙여야 한다.
Console.WriteLine(a);
Console.WriteLine(b);
Console.WriteLine(c);

문자 형식

Type 범위 크기 .NET 형식
char U+0000~U+FFFF 16비트 System.Char
  • 문자형식은 2바이트 크기의 UTF-16 문자를 나타낸다.
  • char 피연사의 경우 산술 및 비트 논리 연산자는 해당 문자 코드에 대한 연산을 수행하고 int 형식의 결과를 생성
  • 문자형식은 비교, 같음, 증가 및 감소 연산자를 지원
  • 작은 따옴표(')로 글자를 감싸서 만듦
char a = 'a';
char b = 'b';
Console.WriteLine(a+b); //출력값은 195

ToString 메서드

  • 문자형식을 그대로 출력하기 위해서는 지정된 유니코드 문자를 해당하는 문자열 표현으로 변환해야 된다.
char ch = 'a';
Console.WriteLine(ch.ToString());

bool 형식

bool 형식은 조건문이나 식에서 참이나 거짓을 나타내는 bool이다.
이론상으로 bool형식은 1bit로 표현할 수 있으나 bool의 크기는 1바이트이다.

bool flag = true;
Console.WriteLine(flag?"A":"B"); //A
bool flag2 = false;
Console.WriteLine(flag2?"A":"B"); //B

문자열

문자열은 값이 문자인 String형식의 개체
문자를 값으로 가지는 개체이기 때문에 메소드를 가지고 있다.

메서드명(속성)역할예시
Substring(시작위치, 종료위치)시작위치에서부터 종료위치까지 출력str.Substring(1,3);
Substring(시작위치)시작위치에서부터 출력str.Substring(1);
Split(분리할 문자)지정된 문자를 기준으로 문자열을 분리str.Split(' ');
Replace(변경전문자,변경희망문자)변경전 문자를 찾아 변경희망문자로 변환한다.str.Replace("hello","world");
IndexOf(문자열)문자 또는 부분 문자열을 검색하여 그 인덱스를 리턴, 발견되지 않으면 -1을 리턴str.IndexOf("hello");
Length문자열의 문자수를 반환한다.str.length
string s3 = "Hello, World";
System.Console.WriteLine(s3.Substring(7, 5));
// Output: "World"

System.Console.WriteLine(s3.Replace("Hello", "Hi"));
// Output: "Hi, World"

int index = s3.IndexOf('o');
Console.WriteLine(index);
// index = 4

string s3 = "Hello, World";
for(int i=0;i<s3.Length; i++)
{
    Console.WriteLine(s3[i]);
}
profile
경북소프트웨어고등학교 정보교사

0개의 댓글