본문 바로가기
C#

C# 닷넷 기초 - 문자형 기본 타입 (string, char) 문자열과 숫자 더하기/조합하기

by 따봉이 2021. 12. 24.
728x90
반응형

C#에서 자료형 타입 중 문자형 타입은 2가지를 제공한다. 

 

 

1. char    :  문자 한글자만 담을 수 있음 (영문자1개 or 숫자1개 or 한글1자), 작은따옴표 사용

2. string  :  문자 한글자는 물론 긴문장의 문자열까지 담을 수 있음, 큰따옴표 사용

 

 

실사용 설명

            // char : 문자1글자, 
            char a = 'a';
            // string :문장 가능
            string b = "동해물과 백두산이";

            //char 잘못 사용한 예) 
            //char에 큰따옴표를 사용하거나 한글자 이상이면 오류발생,(빨간색 밑줄생김)
            char c = 'bb';
            char d = "동";


            // string 잘못 사용한 예) 작은 따옴표를 사용한 경우, 따옴표 미사용, 
            //                       숫자를 대입하려는 경우
            string e = '동해물과 백두산이';
            string f = 동해물과 백두산이;
            string g = 1;

 

 

실제 Visual studio 에서 작성- 잘못 작성한 경우 밑에 빨간줄 생김

 

char 활용 예)

// char 활용 예)
char ca1 = '\t';  // TAB 문자입력
char ca2 = 'T';   // 일반영문자 1자
char ca3 = '\n';  // 다음줄로 넘기는 개행문자

string 활용 예)

//string 활용예)
string name = "홍길동"
string message = "안녕하세요"

Console.WriteLine(name + " " + message);

//출력결과 
홍길동 안녕하세요

 

string.Format 사용

가독성있게 문자열 합침

{0}에 name를 대입하고 {1}에 message를 대입하게 된다. 

string name = "홍길동";
string message = "안녕하세요";

Console.Write(string.Format("{0}님 {1} 반갑습니다",name, message));

//결과
홍길동님 안녕하세요 반갑습니다.

 

string.Format 사용 시 배열사용

배열을 사용하여 더 많은 문자 조합을 할 수 있다. 

//배열 string변수 선언 (이름과 메세지담음)
// 배열은 new를 사용해서 string 배열을 선언한다. 
string[] myString = new string[2]; 

myString[0] = "홍길동";
myString[1] = "안녕하세요";

Console.Write(string.Format("{0}님 {1} 반갑습니다", myString[0], myString[1]));

//결과
홍길동님 안녕하세요 반갑습니다.

 

string + int (문자와 숫자 조합)

//1.문자열과 숫자를 더할경우
string name = "홍길동";
int age = 20;

Console.WriteLine(name + age);
Console.WriteLine(name + 20);

//출력 결과
홍길동20
홍길동20

            
//2.문자열에 숫자를 넣고 수자와 더할경우
string name = "20";
int age = 20;

Console.WriteLine(name + age);

//출력 결과
홍길동20

//3.문자열에 문자형 숫자들어 있는데 숫자형과 실제 덧셈연산을 하려면?
string name = "20";
int age = 20;

Console.WriteLine(int.Parse(name) + age);

//출력 결과
40

 

string과 int를 +로 덧셈연산을 하더라도 덧셈이 아닌 문자열조합으로 처리되므로

string에 숫자가 있을 경우 연산처리를 하고 싶으면 

int.Parse를 써서 숫자로 변환 후 연산처리를 해준다. 

 

참고로 int는 (string)으로 캐스팅 처리가 되지만 string은 (int)로 캐스팅 처리가 되지 않는다. 

 

 

728x90
반응형

댓글