내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

String.Join 메서드 (String, IEnumerable<String>)

각 멤버 사이에 지정된 구분 기호를 사용하여 String 형식의 생성된 IEnumerable<T> 컬렉션의 멤버를 연결합니다.

네임스페이스:  System
어셈블리:  mscorlib(mscorlib.dll)

[ComVisibleAttribute(false)]
public static string Join(
	string separator,
	IEnumerable<string> values
)

매개 변수

separator
형식: System.String
구분 기호로 사용할 문자열입니다. values에 둘 이상의 요소가 있는 경우에만 separator가 반환된 문자열에 포함됩니다.
values
형식: System.Collections.Generic.IEnumerable<String>
연결할 문자열을 포함하는 컬렉션입니다.

반환 값

형식: System.String
separator 문자열로 구분된 values의 멤버로 구성된 문자열입니다. values에 멤버가 없는 경우 이 메서드는 String.Empty를 반환합니다.

예외조건
ArgumentNullException

valuesnull입니다.

separatornull인 경우 빈 문자열(String.Empty)이 대신 사용됩니다. values의 멤버가 null인 경우 대신 빈 문자열이 사용됩니다.

Join(String, IEnumerable<String>) 는 먼저 요소를 문자열 배열로 변환하지 않고 IEnumerable(Of String) 컬렉션에서 각 요소를 연결할 수 있는 편리한 메서드입니다. LINQ(통합 언어 쿼리) 쿼리 식을 사용할 때 특히 도움이 됩니다. 다음 예제에서는 알파벳의 대문자 또는 소문자를 포함하는 List(Of String) 개체를 특정 문자(예: "M") 보다 크거나 같은 문자를 선택하는 람다 식에 전달합니다. Enumerable.Where 메서드에서 반환되는 IEnumerable(Of String) 컬렉션은 단일 문자열로 결과를 표시하기 위해 Join(String, IEnumerable<String>) 메서드에 전달됩니다.


using System;
using System.Collections.Generic;
using System.Linq;

public class Example
{
   public static void Main()
   {
      string output = String.Join(" ", GetAlphabet(true).Where( letter => 
                      letter.CompareTo("M") >= 0));
      Console.WriteLine(output);  
   }

   private static List<string> GetAlphabet(bool upper)
   {
      List<string> alphabet = new List<string>();
      int charValue = upper ? 65 : 97;
      for (int ctr = 0; ctr <= 25; ctr++)
         alphabet.Add(Convert.ToChar(charValue + ctr).ToString());
      return alphabet; 
   }
}
// The example displays the following output:
//      M N O P Q R S T U V W X Y Z


다음 예제에서는 100보다 작거나 같은 소수를 계산하는 에라토스테네스의 알고리즘을 사용합니다. String 형식의 List<T> 개체에 결과를 할당한 다음 Join(String, IEnumerable<String>) 메서드에 전달합니다.


using System;
using System.Collections.Generic;

public class Example
{
   public static void Main()
   {
      int maxPrime = 100;
      List<int> primes = GetPrimes(maxPrime);
      Console.WriteLine("Primes less than {0}:", maxPrime);
      Console.WriteLine("   {0}", String.Join(" ", primes));
   }

   private static List<int> GetPrimes(int maxPrime)
   {
      Array values = Array.CreateInstance(typeof(int), 
                              new int[] { maxPrime - 1}, new int[] { 2 }); 
      // Use Sieve of Erathsthenes to determine prime numbers.
      for (int ctr = values.GetLowerBound(0); ctr <= (int) Math.Ceiling(Math.Sqrt(values.GetUpperBound(0))); ctr++)
      {

         if ((int) values.GetValue(ctr) == 1) continue;

         for (int multiplier = ctr; multiplier <=  maxPrime / 2; multiplier++)
            if (ctr * multiplier <= maxPrime)
               values.SetValue(1, ctr * multiplier);
      }      

      List<int> primes = new List<int>();
      for (int ctr = values.GetLowerBound(0); ctr <= values.GetUpperBound(0); ctr++)
         if ((int) values.GetValue(ctr) == 0) 
            primes.Add(ctr);
      return primes;
   }   
}
// The example displays the following output:
//    Primes less than 100:
//       2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97


.NET Framework

4.5.2, 4.5.1, 4.5, 4에서 지원

.NET Framework Client Profile

4에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft