Char 배열을 문자열로 변환하는 방법
C#에서 문자열(String)은 Char 배열로 구성되어 있습니다.
하지만, Char 배열은 문자열이 아닙니다.
Char 배열과 String은 엄연히 다른 클래스이므로 제공되는 메서드와 사용할 수 있는 연산자도 다릅니다.
예를 들어, 문자열은 + 연산자를 문자열을 연결할 수 있습니다.
class Program
{
static void Main(string[] args)
{
string strValue1 = "He";
string strValue2 = "llo";
Console.WriteLine(strValue1 + strValue2);
}
}
[실행 결과]
Hello
Char 배열을 + 연산자로 연결하면, 컴파일 에러가 발생합니다.
class Program
{
static void Main(string[] args)
{
char[] charArray1 = { 'H', 'e' };
char[] charArray2 = { 'l', 'l', 'o' };
Console.WriteLine(charArray1 + charArray2);
}
}
[에러 내용]
따라서, Char 배열을 문자열처럼 사용하기 위해서는 문자열로 변환하는 작업이 필요합니다.
이번 포스팅은 C#에서 Char 배열을 문자열로 변환하는 몇 가지 방법들을 소개합니다.
방법 1. String 생성자
첫 번째 방법으로 string 생성자 함수에 Char 배열을 전달합니다.
string 생성자 함수는 여러 오버로드된 형태가 존재하며, Char 배열을 문자열로 반환합니다.
class Program
{
static void Main(string[] args)
{
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string strValue = new string(charArray);
Console.WriteLine(strValue);
}
}
[실행 결과]
Hello
방법 2. Join 메서드
두 번째 방법으로 string 클래스에서 제공하는 Join() 메서드를 사용합니다.
Join() 메서드는 Char 배열을 매개변수로 가지는 오버로드된 형태가 존재하며, 구분 기호를 빈 값으로 설정하여 새로운 문자열을 생성할 수 있습니다.
class Program
{
static void Main(string[] args)
{
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string strValue = string.Join("", charArray);
Console.WriteLine(strValue);
}
}
[실행 결과]
Hello
방법 3. Concat 메서드
세 번째 방법으로 string 클래스에서 제공하는 Concat() 메서드를 사용합니다.
Concat() 메서드는 Char 배열을 매개변수로 가지는 오버로드된 형태가 존재하며, Char 배열의 요소를 연결하여 새로운 문자열을 생성합니다.
class Program
{
static void Main(string[] args)
{
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
string strValue = string.Concat(charArray);
Console.WriteLine(strValue);
}
}
[실행 결과]
Hello
방법 4. StringBuilder 클래스
마지막 방법으로 StringBuilder 클래스를 사용하여 Char 배열을 문자열로 변환합니다.
Char 배열을 순회하여 StringBuilder 객체에 각 문자를 추가합니다.
StringBuilder 객체에 모든 문자를 추가했으면, ToString() 메서드를 호출하여 문자열로 변환합니다.
class Program
{
static void Main(string[] args)
{
char[] charArray = { 'H', 'e', 'l', 'l', 'o' };
StringBuilder sb = new StringBuilder();
foreach (char value in charArray)
{
sb.Append(value);
}
string strValue = sb.ToString();
Console.WriteLine(strValue);
}
}
[실행 결과]
Hello
'C# > 문자열' 카테고리의 다른 글
[C#]문자열이 숫자인지 체크하는 방법 (0) | 2022.09.14 |
---|---|
[C#]문자열을 문자로 변환하는 방법(String to Char) (0) | 2022.08.17 |
[C#]문자열 대소문자 변환 방법 (0) | 2022.08.16 |
[C#]문자열에 특정 문자 채우는 방법 (0) | 2022.08.16 |
[C#]문자열에서 특정 문자열로 변경하는 방법 (0) | 2022.08.16 |
댓글