C#에서는 내장된 string.Join 메서드를 사용하여 문자열 리스트(List<string>)를 손쉽게 쉼표로 구분된 하나의 문자열로 변환할 수 있습니다.
string.Join("," , list);이러한 변환 방식은 사용자로부터 여러 개의 데이터(예: 체크박스에서 선택한 항목)를 수집한 후, 이를 쉼표로 구분된 문자열로 만들어 데이터베이스에 쿼리를 실행하거나 추가 가공 작업을 진행할 때 특히 유용합니다.
예제 1: 기본 문자열 리스트 변환
using System;
using System.Collections.Generic;
namespace DemoApplication {
public class Program {
static void Main(string[] args) {
List<string> fruitsList = new List<string> {
"banana",
"apple",
"mango"
};
string fruits = string.Join(",", fruitsList);
Console.WriteLine(fruits);
Console.ReadLine();
}
}
}출력 결과
위 코드의 실행 결과는 다음과 같습니다.
banana,apple,mango
마찬가지로, 복합 객체(complex object) 리스트의 특정 속성 값도 LINQ의 Select 메서드와 함께 string.Join을 사용하면 아래와 같이 쉼표로 구분된 문자열로 변환할 수 있습니다.
예제 2: 복합 객체의 속성 값 변환
using System;
using System.Collections.Generic;
using System.Linq;
namespace DemoApplication {
public class Program {
static void Main(string[] args) {
var studentsList = new List<Student> {
new Student {
Id = 1,
Name = "John"
},
new Student {
Id = 2,
Name = "Jack"
}
};
string students = string.Join(",", studentsList.Select(student => student.Name));
Console.WriteLine(students);
Console.ReadLine();
}
}
public class Student {
public int Id { get; set; }
public string Name { get; set; }
}
}출력 결과
위 코드의 실행 결과는 다음과 같습니다.
John,Jack
여기서 핵심은 studentsList.Select(student => student.Name) 부분입니다. LINQ의 Select 메서드를 통해 각 학생 객체에서 Name 속성만 추출한 뒤, 그 결과 컬렉션을 string.Join으로 연결하는 방식입니다. 이 패턴을 응용하면 ID 목록, 이메일 주소 목록 등 다양한 형태의 데이터를 원하는 구분자로 손쉽게 조합할 수 있습니다.