エクスポート (0) 印刷
すべて展開
情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

String.Join メソッド (String, Object[])

2013/12/12

オブジェクト配列の要素を連結します。各要素の間には、指定した区切り記号が挿入されます。

Namespace:  System
アセンブリ:  mscorlib (mscorlib.dll 内)

public static string Join(
	string separator,
	params Object[] values
)

パラメーター

separator
型: System.String
区切りとして使用する文字列。
values
型: System.Object []
連結する要素を格納している配列。

戻り値

型: System.String
values の要素から成る、separator 文字列で区切られた文字列。values が空の配列の場合、このメソッドは String.Empty を返します。

例外条件
ArgumentNullException

valuesnull です。

separatornull である場合は、空の文字列 (String.Empty) が代わりに使用されます。値で最初の要素以外のいずれかの要素が null である場合は、空の文字列 (String.Empty) が代わりに使用されます。

Join(String, Object[]) は、明示的に要素を文字列に変換せずにオブジェクト配列内の各要素を連結することのできる便利なメソッドです。配列内の各オブジェクトの文字列形式は、そのオブジェクトの ToString メソッドを呼び出すことによって導き出されます。

呼び出し時の注意

values の最初の要素が null の場合、Join メソッドは、values の要素を連結する代わりに String.Empty を返します。この問題では、いくつかの回避策が利用可能です。最も簡単な方法は、次の例のように、String.Empty の値を配列の最初の要素に割り当てることです。


object[] values = { null, "Cobb", 4189, 11434, .366 };
if (values[0] == null) values[0] = String.Empty;
outputBlock.Text += String.Join("|", values) + "\n";
// The example displays the following output:
//      |Cobb|4189|11434|0.366


次の例では、「エラトステネスの篩」アルゴリズムを使用して 100 以下の素数を計算しています。その結果は整数配列に割り当てられ、この配列が、Join(String, Object[]) メソッドに渡されます。


using System;
using System.Collections.Generic;

public class Example
{ 
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      int maxPrime = 100;
      int[] primes = GetPrimes(maxPrime);
      outputBlock.Text += String.Format("Primes less than {0}:", maxPrime) + "\n";
      outputBlock.Text += String.Format("   {0}", String.Join(" ", primes)) + "\n";
   }

   private static int[] GetPrimes(int maxPrime)
   {  
      int[] values = new int[maxPrime + 1];
      // Use Sieve of Erathsthenes to determine prime numbers.

      for (int ctr = 2; ctr <= (int)Math.Ceiling(Math.Sqrt(values.GetUpperBound(0))); ctr++)
      {
         if (values[ctr] == 1) continue;

         for (int multiplier = ctr; multiplier <= maxPrime / 2; multiplier++)
            if (ctr * multiplier < maxPrime + 1)
               values[ctr * multiplier] = 1;
      }

      List<int> primes = new List<int>();
      for (int ctr = 2; ctr <= values.GetUpperBound(0); ctr++)
         if (values[ctr] == 0)
            primes.Add(ctr);

      return primes.ToArray();
   }
}
// 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 Phone OS

サポート: 8.0, 7.1

表示:
© 2014 Microsoft