본문 바로가기

교육 노트/C# 강의

[C# 때려잡기] C# 강의 2. 스트링 (문자열)


[C# 때려잡기] C#강의 스트링

1. 문자열

char가 문자 하나를 표현하는 방법이다

그럼 문자 여러개를 표현하는 방법은 무엇일까


using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
char 문자하나 = 'A';
string 문자열 = "AAAAA";

Console.WriteLine(문자하나);
Console.WriteLine(문자열);

}
}
}


ps.변수명 한글도 되는데 예제를 위해서 이렇게 한것이고 영어로 작성하도록 하자.

char는 문자 1글자를 가지고있다. 또한 ' (작은따옴표) 로 둘러싸서 표현한다

string 은 1개 이상의 글자를 가지고있으며 " (큰 따옴표) 로 둘러서 표현한다.


ps. 문자열에서 문자하나..

using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
string s = "Hello World";
char c = s[0];
Console.WriteLine(c);
}
}
}


문자열은 문자들의 열이라는 뜻이다.

각 문자들에 접근할수있는데 그 방법이 [index]를 통하여 접근한다

s[4]하면 문자 o인 셈이다

중요한점은 zero-based 이기때문에 문자열의 첫 문자의 인덱스는 0 이다.


2. 유니코드

ascii code에 대한 이미지 검색결과

위의 코드표는 아스키 코드 표이다.

아스키 코드란 0과1 밖에 모르는 컴퓨터가 문자를 표현하기 위한 코드로

숫자로 문자를 표현하는 방식이다

C/C++에서는 char가 1바이트 이었는데 

초창기 컴퓨터의 경우 알파벳 소문자, 대문자 , 숫자 , 그외 필요한 문자들 을 표기하기위해 1바이트(8비트, 128) 이면 충분한데

이제 한글, 한문등 다른 언어를 표기하기 위하여 다른 코드 (유니 코드) 가 만들어지고 이를 표현하기위하여 2바이트를 사용하는것이다.
C#에서는 처음부터 char가 2바이트를 가지고있어 한글한글자를 char 변수에 넣을수있다.


using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
char 문자하나 = '하';
string 문자열 = "히히히히";

Console.WriteLine(문자하나);
Console.WriteLine(문자열);

}
}
}




3. 포메팅

using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
int d = 20;
char c = '도';
string s = "입니다";

Console.WriteLine("온도는 {0}{1}{2}", d, c, s);

}
}
}

콘솔에 쓸때

{0} ,{1} 등을 사용하여 포메팅을 할수가 있다.

첫 스트링이후에 들어가는 변수들이 각각 {0},{1},{2} ... 이 된다.




4. 서식 지정

위의 과정을 거칠떄 단순히 고대로 때려박는것이 아닌 각종 조작이 가능하다.


using System;

namespace HelloWorld
{
class Program
{
static void Main(string[] args)
{
int d = 200000;
string s = "입니다";

Console.WriteLine("가격은 {0:c}{1}", d, s);
Console.WriteLine("{0}는 16진법으로 {0:x} 입니다", d);

}
}
}

이런식으로 뒤에 :c, :x 등으로 여러 서식을 지정해줄수있다.


https://docs.microsoft.com/ko-kr/dotnet/standard/base-types/standard-numeric-format-strings


참고




728x90