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

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

각 멤버 사이에 지정된 구분 기호를 사용하여 컬렉션의 멤버를 연결합니다.

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

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

형식 매개 변수

T

values 멤버의 형식입니다.

매개 변수

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

반환 값

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

예외조건
ArgumentNullException

valuesnull입니다.

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

Join<T>(String, IEnumerable<T>) 는 먼저 요소를 문자열로 변환하지 않고 IEnumerable<T>의 각 요소를 연결할 수 있는 편리한 메서드입니다. IEnumerable<T> 컬렉션에서 각 개체의 문자열 표현은 해당 개체의 ToString 메서드를 호출하여 파생됩니다.

이 메서드는 LINQ(통합 언어 쿼리) 쿼리 식에 특히 유용합니다. 예를 들어, 다음 코드는 동물의 이름과 동물이 속해 있는 순서를 포함하는 매우 간단한Animal 클래스를 정의합니다. 그런 다음 Animal 개체 수를 포함하는 List<T> 개체를 정의합니다. Enumerable.Where 확장 메서드를 호출하여 Animal 속성이 "Rodent"와 같은 Order 개체를 추출합니다. 결과는 Join<T>(String, IEnumerable<T>) 메서드에 전달됩니다.


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

public class Animal
{
   public string Kind;
   public string Order;

   public Animal(string kind, string order)
   {
      this.Kind = kind;
      this.Order = order;
   }

   public override string ToString()
   {
      return this.Kind;
   }
}

public class Example
{
   public static void Main()
   {
      List<Animal> animals = new List<Animal>();
      animals.Add(new Animal("Squirrel", "Rodent"));
      animals.Add(new Animal("Gray Wolf", "Carnivora"));
      animals.Add(new Animal("Capybara", "Rodent"));
      string output = String.Join(" ", animals.Where( animal => 
                      (animal.Order == "Rodent")));
      Console.WriteLine(output);  
   }
}
// The example displays the following output:
//      Squirrel Capybara


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


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 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft