C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でStringBuilderをforeachループで反復処理する方法

C#では、StringBuilderforeachループを組み合わせることで、配列やコレクションの要素を効率的に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の使用が推奨されます。

  1. C#のStringBuilderで文字列を追加する方法(Appendメソッドの使い方)

    C#のStringBuilder.Append()メソッドとは C#では、StringBuilderクラスのAppend()メソッドを使用することで、既存の文字列の末尾に新しいコンテンツ(文字列や数値など)を追加できます。文字列を繰り返し連結する場合、string型の「+」演算子による連結よりもパフォーマンスに優れているため、大量の文字列操作が必要な場面で特に有効です。 StringBuilderインスタンスの作成 まず、StringBuilderオブジェクトを作成します。 StringBuilder str = new StringBuilder(); Append()メソッドで文字列を

  2. C#のループ処理をマスター!while・for・do...while・foreachの使い方

    ループ文(繰り返し処理)とは、特定の文や文のブロックを何度も実行するための構文です。条件に応じて同じ処理を効率よく繰り返せるため、プログラミングにおいて欠かせない要素となっています。 C#で利用できる主なループ構文は以下のとおりです。 C#で使えるループの種類 番号ループの種類と説明 1whileループ指定した条件がtrueである間、文または文のグループを繰り返し実行します。ループ本体を実行する前に条件を判定するのが特徴です。 2forループ一連のステートメントを複数回実行します。ループ変数の初期化・条件判定・更新を1行にまとめて記述できるため、コードが簡潔になります。 3do...w