C# - 문자열 리스트를 문자열로 변환

문자열 리스트(List<string>)의 모든 요소들을 연결하여 하나의 문자열로 변환하는 방법을 소개합니다.

1. Join()을 이용한 방법

string.Join(delimeter, list)는 리스트의 모든 요소를 하나의 문자열로 연결하며, 요소 사이에 구분자(delimeter)를 추가합니다.

아래 예제는 구분자를 ", "로 사용하여 리스트를 하나의 문자열로 연결하는 예제입니다. 결과를 보면 문자열 사이에 구분자가 추가되었습니다.

using System;

namespace Example {

    public class Program {

        public static void Main(string[] args) {

            List<string> list = new List<string>() {"Hello", "World", "C#"};

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

Output:

Hello, World, C#

2. Concat()을 이용한 방법

string.Concat(list)은 list의 모든 요소들을 연결하여 하나의 문자열로 만들고 리턴합니다.

Concat()의 경우 구분자(delimeter)를 추가할 수 없습니다. 문장의 경우 아래와 같이 띄어쓰기 없이 문자열들이 연결됩니다.

using System;

namespace Example {

    public class Program {

        public static void Main(string[] args) {

            List<string> list = new List<string>() {"Hello", "World", "C#"};

            String result = string.Concat(list);
            Console.WriteLine(result);
        }
    }
}

Output:

HelloWorldC#

3. StringBuilder를 이용한 방법

StringBuilder와 for문을 이용하여 리스트를 순회하면서 문자열을 연결할 수 있습니다.

구분자(delimeter)도 직접 추가해줘야하는데, 아래와 같이 단순하게 구현하면 문자열 마지막에 구분자가 하나 더 추가됩니다. 마지막 요소에 대해서 구분자를 추가하지 않도록 구현하면 됩니다.

using System;
using System.Text;

namespace Example {

    public class Program {

        public static void Main(string[] args) {

            List<string> list = new List<string>() {"Hello", "World", "C#"};

            StringBuilder sb = new StringBuilder();
            foreach (string str in list) {
                sb.Append(str);
                sb.Append(", ");
            }
            string result = sb.ToString();
            Console.WriteLine(result);
        }
    }
}

Output:

Hello, World, C#,
Loading script...
codechachaCopyright ©2019 codechacha