匯出 (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
字串,由 values 中的成員組成,每個成員之間都以 separator 字串隔開。 如果 values 沒有成員,方法會傳回 String.Empty

例外狀況條件
ArgumentNullException

valuesnull

如果 separatornull,則改用空字串 (String.Empty)。 如果 values 中的任何成員是 null,則改用空字串。

Join<T>(String, IEnumerable<T>) 是一種便利的方法,可讓您串連 IEnumerable<T> 集合中的每個成員,不需先將它們轉換成字串。 IEnumerable<T> 集合中每個物件的字串表示是藉由呼叫該物件的 ToString 方法衍生。

這個方法在搭配 Language-Integrated Query (LINQ) 查詢運算式使用時相當實用。 例如,下列程式碼定義一個非常簡單的 Animal 類別,其中包含動物的名稱和該名稱所屬的順序。 然後它會定義包含許多 Animal 物件的 List<T> 物件。 會呼叫 Enumerable.Where 延伸方法來擷取 Order 屬性等於 "Rodent" 的 Animal 物件。 結果會被傳遞至 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


下列範例會使用 Eratosthenes 演算法的 Sieve 計算小於或等於 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