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

C# String.Join() 메서드 – 문자열 배열을 하나의 문자열로 합치기

C#의 String.Join() 메서드는 문자열 배열에 포함된 모든 요소를 하나의 문자열로 연결하며, 각 요소 사이에는 지정한 구분자(separator)가 자동으로 삽입됩니다. 배열의 요소들을 쉼표, 공백, 줄 바꿈 문자 등 원하는 형태로 손쉽게 합칠 수 있어 실무에서 매우 자주 사용되는 메서드입니다.

기본 문법

String.Join("구분자", 문자열배열);

아래 예제에서는 여러 줄로 구성된 문자열을 다루며, 각 문장이 새 줄에서 시작되도록 구분자를 "\n"(줄 바꿈 문자)로 설정했습니다.

String.Join("\n", starray);

예제 코드

다음은 String.Join() 메서드의 전체 사용 예제입니다. 문자열 배열 starray의 다섯 개 문장을 줄 바꿈 문자로 연결한 뒤 콘솔에 출력합니다.

using System;

namespace StringApplication {

    class StringProg {
        static void Main(string[] args) {
            string[] starray = new string[]{"Down the way nights are dark",
                "And the sun shines daily on the mountaintop",
                "I took a trip on a sailing ship",
                "And when I reached Jamaica",
                "I made a stop"};

            string str = String.Join("\n", starray);
            Console.WriteLine(str);
        }
    }
}

실행 결과

Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop

추가 팁: 다양한 구분자 활용

String.Join()은 첫 번째 인자로 전달되는 구분자만 바꾸면 다양한 용도로 활용할 수 있습니다. 예를 들어 ", "를 넣으면 목록 형태의 문자열을 만들 수 있고, List<string>과 같은 컬렉션도 그대로 전달할 수 있습니다.

string result1 = String.Join(", ", starray);   // 쉼표로 구분
string result2 = String.Join(" | ", starray);  // 세로 막대로 구분

또한 .NET 4.0 이상에서는 제네릭 컬렉션(IEnumerable<T>)을 받는 오버로드도 제공되므로, string 배열뿐 아니라 List, LINQ 결과 등 어떤 문자열 시퀀스든 손쉽게 연결할 수 있습니다.