19.03.22 문자열 표현식 예제

개임개발/과제 2019. 3. 22. 22:18
728x90
반응형

*문자열 이란?*

 

문자열은 말 그대로 문자의 열, 즉 개별문자들이 열거된 자료형 입니다.

C#에서 문자열이라는 자료형은 결국 개별 문자들의 배열입니다.

개별 문자는 char 자료형으로 표현이 가능합니다. 즉 char배열이 곧 문자열이 됩니다.

 

예시)

string str = "홍길동";

Console.WriteLine(str[0].ToString() + str[1].ToString() + str[2].ToString());

 

콘솔에 출력되는 결과는 문자열('홍길동')이 그대로 출력이 됩니다.

이렇듯 string 키워드를 사용해 표현한 문자열을 배열 첨자를 이용해 각 개별 문자를 참조할 수 있습니다

결국 string 이라는 문자열은 char의 배열이라는 것을 알 수 있는 것이죠.

 

 

 

문자열은 String 객체로 표현됩니다

C#에서는 문자열을 위해 String 이라는 클래스를 미리 정의해 두었습니다

String 클래스는 문자열이라는 것을 추상화한 자료형인데요, 내부적으로 Char 배열로 문자열을 표현하며

문자열 연결, 검색, 삽입 등과 같은 문자열과 관련된 유용한 기능들을 제공해 줍니다

 

다음과 같이 String 객체를 생성할 수 있습니다

String str = new String(new char[]{'','',''});

Char 배열을 전달하여 String 클래스의 인스턴스를 생성하였습니다

 

그런데 이전의 예에서는 단순히 string str = "홍길동"의 형태로 문자열을 생성했는데 지금은 String 객체를 정의했습니다. 차이가 있을까요?

 

string 키워드는 String 클래스의 별칭입니다. 즉 문자열을 쉽게 다룰 수 있도록 string 키워드로 제공하는 것입니다.

따라서 String 객체로 문자열을 생성하나 string 키워드로 생성하나 동일한 것으로 보시면 되겠습니다

 

 

 

 

문자열 관련 링크

http://www.mkexdev.net/Article/Content.aspx?parentCategoryID=1&categoryID=5&ID=683

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/char

 

 

 

 

----------------------------------------------------------예제 문제--------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            /*예제
             * 다음 문자("일,이,삼,사")를 char 배열에 넣고 그 값을 string 형식으로 변환시켜 화면에 출력하시오. */

 

 

            char[] problem = new char[4];
            problem[0] = '일';
            problem[1] = '이';
            problem[2] = '삼';
            problem[3] = '사';

       
            string b = new string(problem);


            Console.WriteLine("출력된 결과 값 = " + b + "");
 

 

 

        }
    }
}

728x90
반응형

'개임개발 > 과제' 카테고리의 다른 글

19.03.25 값 복사와 참조 복사  (0) 2019.03.25
19.03.22 오우거 잡기  (0) 2019.03.24
19.03.22 Stack 과 Heap  (0) 2019.03.24
19.03.22 과제 데이터 타입 예제  (0) 2019.03.22
19.03.22 과제 for문  (0) 2019.03.22
: