C#でStringBuilderをforeachループで反復処理する方法
C#では、StringBuilderとforeachループを組み合わせることで、配列やコレクションの要素を効率的に1つの文字列へ連結できます。ここでは、文字列配列の各要素をStringBuilderに追加して出力する基本的な手順を紹介します。
手順1: 文字列配列とStringBuilderを用意する
まず、文字列配列とStringBuilderオブジェクトを作成します。
// 文字列配列
string[] myStr = { "One", "Two", "Three", "Four" };
StringBuilder str = new StringBuilder("We will print now...").AppendLine();StringBuilderのコンストラクタに初期文字列を渡し、AppendLine()メソッドで改行を追加しています。
手順2: foreachループで要素を追加する
次に、foreachループを使って配列の各要素を順番に取り出し、StringBuilderへ追加していきます。
foreach (string item in myStr) {
str.Append(item).AppendLine();
}ループ内では、Append()で要素を連結し、AppendLine()で改行コードを加えています。
完全なサンプルコード
以下は、上記の手順をまとめた完全なコード例です。
例
using System;
using System.Text;
public class Demo {
public static void Main() {
// 文字列配列
string[] myStr = { "One", "Two", "Three", "Four" };
StringBuilder str = new StringBuilder("We will print now...").AppendLine();
// foreachループで要素を追加
foreach (string item in myStr) {
str.Append(item).AppendLine();
}
Console.WriteLine(str.ToString());
Console.ReadLine();
}
}実行結果
We will print now... One Two Three Four
ポイント解説
通常の文字列(string)は不変(イミュータブル)であるため、ループ内で「+」演算子による連結を繰り返すと、そのたびに新しい文字列オブジェクトが生成され、パフォーマンスが低下します。
一方、StringBuilderは内部のバッファを再利用して文字列を変更するため、大量の文字列連結を行う場合には大幅に効率が向上します。特にループ処理での文字列構築には、StringBuilderの使用が推奨されます。
-
C#のStringBuilderで文字列を追加する方法(Appendメソッドの使い方)
C#のStringBuilder.Append()メソッドとは C#では、StringBuilderクラスのAppend()メソッドを使用することで、既存の文字列の末尾に新しいコンテンツ(文字列や数値など)を追加できます。文字列を繰り返し連結する場合、string型の「+」演算子による連結よりもパフォーマンスに優れているため、大量の文字列操作が必要な場面で特に有効です。 StringBuilderインスタンスの作成 まず、StringBuilderオブジェクトを作成します。 StringBuilder str = new StringBuilder(); Append()メソッドで文字列を
-
C#のループ処理をマスター!while・for・do...while・foreachの使い方
ループ文(繰り返し処理)とは、特定の文や文のブロックを何度も実行するための構文です。条件に応じて同じ処理を効率よく繰り返せるため、プログラミングにおいて欠かせない要素となっています。 C#で利用できる主なループ構文は以下のとおりです。 C#で使えるループの種類 番号ループの種類と説明 1whileループ指定した条件がtrueである間、文または文のグループを繰り返し実行します。ループ本体を実行する前に条件を判定するのが特徴です。 2forループ一連のステートメントを複数回実行します。ループ変数の初期化・条件判定・更新を1行にまとめて記述できるため、コードが簡潔になります。 3do...w