프로젝트

[C#] char[]를 string으로 변환하기 (퍼옴)

BLDC 2017. 3. 19. 12:17

출처 : http://storycompiler.tistory.com/214

 

 

C에서 포인터로 들어간 문자열(문자들 + '\0')을 관리하였습니다만,

char *s = "string";

 

C#에는 포인터 대신 string class로 문자열을 관리하고 있습니다.

string s = "string";

 


이 사실을 접하자마자 처음 든 의문은,

C#에서 char[]을 string처럼 사용할 수 있는지 여부였습니다.


char[]와 string은 모두 다수의 문자를 저장할 수 있지만,

char는 struct, string은 class인 만큼 둘 사이에 간극은 큽니다.

그렇기 때문에 char[]는 string이라고 말할 수 없고,

char[]가 string이 되기 위에서는 배열을 문자열로 변환해주는 생성자나 메소드를 이용해야 합니다.


- 생성자를 이용하여 char[]를 string으로 변환하기

 

char[] characters = {'s', 't', 'r', 'i', 'n', 'g'};
string str = new string(characters);

 


- 메소드를 이용하여 char[]를 string으로 변환하기

 

char[] characters = {'s', 't', 'r', 'i', 'n', 'g'};
string str = string.Join("", characters);

 

 

char[] characters = {'s', 't', 'r', 'i', 'n', 'g'};
string str = string.Concat(character);

 


char[]를 콘솔로 출력할 때는 Console.Write() 메소드에 char[]를 넣으면 됩니다.

Console.Write()는 string 뿐만 아니라 char[]도 아규먼트로 받고 있죠.

[C#]
public static void Write(
 char[] buffer
);