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

C# Join() 메서드 완벽 정리 – 문자열 배열을 구분 기호로 연결하는 방법

C# Join() 메서드란?

C#의 Join() 메서드는 문자열 배열의 모든 요소를 하나의 문자열로 연결할 때 사용됩니다. 각 요소 사이에는 지정한 구분 기호(separator)가 자동으로 삽입되므로, 배열 데이터를 쉼표로 구분된 목록이나 파일 경로처럼 원하는 형태의 문자열로 손쉽게 변환할 수 있습니다.

예를 들어 여러 개의 태그나 이름이 담긴 배열을 화면에 한 줄로 표시해야 할 때, 반복문 없이 Join() 메서드 한 번 호출로 깔끔하게 처리할 수 있어 실무에서 매우 자주 활용됩니다.

문법(Syntax)

Join() 메서드의 기본 문법은 다음과 같습니다.

public static string Join (string separator, string[] val);

separator는 각 요소 사이에 삽입될 구분 기호이며, val은 연결하고자 하는 요소들을 담고 있는 문자열 배열입니다. 두 매개변수 모두 필수 값이며, 메서드는 연결된 최종 문자열을 반환합니다.

참고로 .NET에서는 이 외에도 IEnumerable<string>을 받는 오버로드, 인덱스와 개수를 지정해 일부 요소만 연결하는 오버로드 등 다양한 버전의 Join() 메서드를 제공하므로 상황에 맞게 선택해 사용하면 됩니다.

예제 1 – 슬래시(/)로 배열 요소 연결하기

다음 예제에서는 네 개의 문자열을 담은 배열을 슬래시(/) 구분 기호로 연결합니다.

using System;
public class Demo {
   public static void Main(string[] args) {
      string[] strArr = {"One", "Two", "Three", "Four" };
      Console.WriteLine("String Array...");
      foreach(string s in strArr) {
         Console.WriteLine(s);
      }
      string str = string.Join("/", strArr);
      Console.WriteLine("Result (after joining) = " + str);
   }
}

실행 결과

String Array...
One
Two
Three
Four
Result (after joining) = One/Two/Three/Four

실행 결과를 보면 배열의 각 요소 사이에 슬래시(/)가 삽입되어 One/Two/Three/Four라는 하나의 문자열이 만들어진 것을 확인할 수 있습니다.

예제 2 – 별표(*)로 배열 요소 연결하기

이번에는 더 많은 요소를 가진 배열을 별표(*) 구분 기호로 연결해 보겠습니다.

using System;
public class Demo {
   public static void Main(string[] args) {
      string[] strArr = {"AB", "BC", "CD", "DE", "EF", "FG", "GH", "IJ" };
      Console.WriteLine("String Array...");
      foreach(string s in strArr) {
         Console.WriteLine(s);
      }
      string str = string.Join("*", strArr);
      Console.WriteLine("Result (after joining) = " + str);
   }
}

실행 결과

String Array...
AB
BC
CD
DE
EF
FG
GH
IJ
Result (after joining) = AB*BC*CD*DE*EF*FG*GH*IJ

여덟 개의 요소가 모두 별표(*)로 연결되어 하나의 문자열로 반환된 것을 볼 수 있습니다.

정리

C#의 Join() 메서드는 문자열 배열을 하나의 문자열로 합칠 때 가장 간단하고 효율적인 방법입니다. 반복문과 문자열 연산자를 사용하는 것보다 코드가 짧아지고 성능 면에서도 유리하므로, 배열이나 컬렉션의 요소를 구분 기호와 함께 출력해야 하는 경우 적극적으로 활용해 보시기 바랍니다.