Computer >> 컴퓨터 >  >> 프로그래밍 >> C#

C# 문자열 리스트를 쉼표로 구분된 문자열로 변환하는 방법

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 목록, 이메일 주소 목록 등 다양한 형태의 데이터를 원하는 구분자로 손쉽게 조합할 수 있습니다.