C# 프로그래밍에서 List(리스트)에 담긴 여러 요소를 하나의 문자열로 합쳐야 하는 경우가 자주 있습니다. 예를 들어, 콘솔 출력이나 로그 기록, 화면 표시를 위해 리스트 데이터를 문자열 형태로 변환해야 할 때가 그렇습니다.
이럴 때 가장 간단하고 널리 사용되는 방법은 string.Join() 메서드를 활용하는 것입니다. 이 메서드는 지정한 구분자(delimiter)를 기준으로 리스트의 모든 요소를 하나의 문자열로 연결해 줍니다.
1단계: 리스트 선언하기
먼저 문자열을 저장할 List를 선언합니다.
List<string> l = new List<string>();
2단계: 리스트에 요소 추가하기
선언한 리스트에 Add() 메서드를 사용하여 원소들을 추가합니다.
// 리스트에 요소 추가
l.Add("Accessories");
l.Add("Footwear");
l.Add("Watches");3단계: 리스트를 문자열로 변환하기
이제 string.Join() 메서드를 사용하여 리스트를 하나의 문자열로 변환합니다. 아래 예제에서는 공백(" ")을 구분자로 지정했습니다.
string str = string.Join(" ", l.ToArray());참고: .NET 4.0 이상 버전에서는 ToArray() 호출 없이 리스트 객체를 바로 전달할 수도 있습니다. 즉, string.Join(" ", l)과 같이 작성해도 동일하게 동작합니다.
전체 예제 코드
지금까지의 과정을 하나의 코드로 정리하면 다음과 같습니다.
using System;
using System.Collections.Generic;
class Demo {
static void Main() {
// 리스트 선언
List<string> l = new List<string>();
// 요소 추가
l.Add("Accessories");
l.Add("Footwear");
l.Add("Watches");
// 리스트를 문자열로 변환
string str = string.Join(" ", l.ToArray());
// 결과 출력
Console.WriteLine(str);
}
}실행 결과
Accessories Footwear Watches
구분자 변경하기
string.Join()의 첫 번째 인자인 구분자를 원하는 값으로 바꾸면 다양한 형식의 문자열을 만들 수 있습니다.
- 공백으로 구분:
string.Join(" ", l)→Accessories Footwear Watches - 쉼표로 구분:
string.Join(", ", l)→Accessories, Footwear, Watches - 줄바꿈으로 구분:
string.Join(Environment.NewLine, l)→ 각 요소가 새 줄에 출력됨
이처럼 string.Join() 메서드 하나만 알아두면 C#에서 리스트를 문자열로 변환하는 작업을 손쉽게 처리할 수 있습니다.