この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

String.Join<T> メソッド (String, IEnumerable<T>)

 

公開日: 2016年10月

コレクションのメンバーを連結します。各メンバーの間には、指定した区切り記号が挿入されます。

名前空間:   System
アセンブリ:  mscorlib (mscorlib.dll 内)

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

パラメーター

separator
Type: System.String

区切り文字として使用する文字列。戻される文字列に separator が含まれるのは、values に複数の要素がある場合のみです。

values
Type: System.Collections.Generic.IEnumerable<T>

連結するオブジェクトを格納しているコレクション。

戻り値

Type: System.String

values のメンバーからなる、separator 文字列で区切られた文字列。 values にメンバーがない場合、メソッドは String.Empty を返します。

型パラメーター

T

values のメンバーの型。

Exception Condition
ArgumentNullException

valuesnull です。

場合separatornull、空の文字列 (String.Empty) 代わりに使用されます。 場合のメンバーはすべてvaluesnull、空の文字列が代わりに使用されます。

Join<T>(String, IEnumerable<T>)各メンバーを連結できる便利なメソッドは、IEnumerable<T>最初を文字列に変換なしのコレクション。 内の各オブジェクトの文字列形式を、IEnumerable<T>を呼び出してそのオブジェクトのコレクションを派生ToStringメソッドです。

このメソッドは、特定統合言語クエリ (LINQ) クエリ式で便利です。 たとえば、次のコードは非常に単純な定義Animal動物とそれが属する注文書の名前を表すクラス。 定義し、List<T>オブジェクトの数値を含んだAnimalオブジェクト。 Enumerable.Where<TSource>抽出する拡張メソッドが呼び出される、AnimalオブジェクトOrder"Rodent"と等しい。 結果に渡される、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 Eratosthenes 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

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
4.0 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Silverlight
4.0 以降で使用可能
Windows Phone Silverlight
7.1 以降で使用可能
Windows Phone
8.1 以降で使用可能
トップに戻る
表示: