エクスポート (0) 印刷
すべて展開
この記事は機械翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 詳細情報
訳文
原文

String.Concat メソッド (IEnumerable<String>)

String 型の構築された IEnumerable<T> コレクションのメンバーを連結します。

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

[ComVisibleAttribute(false)]
public static string Concat(
	IEnumerable<string> values
)

パラメーター

values
型 : System.Collections.Generic.IEnumerable<String>
IEnumerable<T> を実装し、ジェネリック型引数が String であるコレクション オブジェクト。

戻り値

型 : System.String
values 内の文字列の連結結果。

例外条件
ArgumentNullException

valuesnull なので、

このメソッドは、values の各オブジェクトを連結しますが、任意の区切り記号は追加されません。 values の各メンバーの間の区切り記号を指定するには、Join(String, IEnumerable<String>) メソッドを呼び出します。

Empty 文字列は、任意の null 引数の代わりに使用されます。

Concat(IEnumerable<String>) は、最初に要素を文字列配列に変換せずに IEnumerable(Of String) コレクション内の各要素を連結することのできる便利なメソッドです。 これは統合言語クエリ (LINQ) のクエリ式で特に便利です。 次の例では、アルファベットの大文字か小文字を含む List(Of String) オブジェクトを、特定の文字 (この例では "M") 以上の文字を選択するラムダ式に渡します。 Enumerable.Where メソッドが返す IEnumerable(Of String) コレクションは Concat(IEnumerable<String>) メソッドに渡され、結果が 1 つの文字列として表示されます。


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

public class Example
{
   public static void Main()
   {
      string output = String.Concat( 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:
//      MNOPQRSTUVWXYZ


Sieve の Eratosthenes アルゴリズムを使用して 100 以下の素数を計算する例を次に示します。 結果を String 型の List<T> オブジェクトに代入し、それを Concat(IEnumerable<String>) メソッドに渡します。


using System;
using System.Collections.Generic;

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

   private static IEnumerable<String> 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<String> primes = new List<String>();
      for (int ctr = values.GetLowerBound(0); ctr <= values.GetUpperBound(0); ctr++)
         if ((int) values.GetValue(ctr) == 0) 
            primes.Add(ctr.ToString() + " ");
      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 システム要件」を参照してください。

コミュニティの追加

追加
表示:
© 2015 Microsoft