C# - List를 문자열로 변환, 2가지 방법

List의 모든 요소들을 연결하여 하나의 문자열로 변환하는 방법을 소개합니다.

1. String.Join()을 이용한 방법

String.Join(delimeter, list)는 list의 요소를 연결하여 하나의 문자열로 변환하며, 각각의 요소 사이에 구분자(delimeter)를 추가합니다.

using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            List<string> list = new List<string>() { "A", "B", "C" };

            string str = String.Join(", ", list.ToArray());
            Console.WriteLine(str);
        }
    }
}

Output:

A, B, C

2. List.Aggregate()를 이용한 방법

List.Aggregate(function)은 리스트의 요소들에 대해서 Aggregate의 function을 적용합니다. Aggregate는 누적기로, 결과들이 누적되면서 마지막의 결과가 리턴됩니다.

예를 들어, 아래 예제에서 Aggregate()

  • 첫번째로 text는 A, next는 B가 됩니다. 함수에서 "A, B"가 생성되어 리턴됩니다.
  • 첫번째의 결과 "A, B"가 text가 되며, next는 C가 됩니다. 결과로 "A, B, C"가 생성되어 리턴됩니다.
  • 남아있는 요소가 없기 때문에 마지막 누적된 결과 "A, B, C"가 리턴됩니다.
using System;

namespace Example {
    public class Program {
        public static void Main(string[] args) {

            List<string> list = new List<string>() { "A", "B", "C" };

            string str = list.Aggregate((text, next) => text + ", " + next);
            Console.WriteLine(str);
        }
    }
}

Output:

A, B, C
Loading script...
codechachaCopyright ©2019 codechacha