.NET TIPS

StringBuilderオブジェクトの文字列を簡単にクリアするには?[4以降、C#、VB]

デジタルアドバンテージ 遠藤 孝信
2010/05/20

 「TIPS:StringBuilderオブジェクトの文字列をクリアするには?」では、StringBuilderクラス(System.Text名前空間)のオブジェクト内の文字列をクリアする方法として、Lengthプロパティに0を代入する方法と、インスタンスを再作成する方法の2つを紹介した。

 .NET Framework 4では、オブジェクトの文字列をクリアするための「Clearメソッド」が、StringBuilderクラスに新しく追加されている。使い方は簡単で、引数もなしに単に呼び出すだけでよい。

 以下は冒頭に挙げたTIPSのサンプル・プログラムを修正したもので、Lengthプロパティの設定の代わりに、Clearメソッドを呼び出して、テキストをクリアしている例だ。

using System;
using System.Text;

class Program {
  static void Main() {

    string[][] bigtable = new string[][] {
      new string[] {"1", "a", "あ"},
      new string[] {"2", "b", "い"},
      new string[] {"3", "c", "う"},
      new string[] {"4", "d", "え"},
    };

    StringBuilder sb = new StringBuilder(); // インスタンス作成

    foreach (string[] row in bigtable) { // 表の各行に対して
      foreach (string s in row) { // 行の各セルに対して
        sb.Append(s);
      }
      Console.WriteLine(sb);
      // sb.Length = 0; // StringBuilderのクリア
      sb.Clear(); // .NET 4ではClearメソッドが利用可
    }
  }
}
Imports System
Imports System.Text

Class Program
  Shared Sub Main()

    Dim bigtable As String()() = New String()() { _
     New String() {"1", "a", "あ"}, _
     New String() {"2", "b", "い"}, _
     New String() {"3", "c", "う"}, _
     New String() {"4", "d", "え"}}

    Dim builder As New StringBuilder() ' インスタンス作成

    For Each row As String() In bigtable ' 表の各行に対して
      For Each s As String In row ' 行の各セルに対して
        builder.Append(s)
      Next
      Console.WriteLine(builder)
      ' builder.Length = 0 ' StringBuilderのクリア
      builder.Clear() ' .NET 4ではClearメソッドが利用可
    Next
  End Sub
End Class
ClearメソッドによるStringBuilderのクリア(上:C#、下:VB)

 Clearメソッドは、内部的には単にLengthプロパティに0をセットしているだけのようだが、メソッドになったことで、コーディングの意図を明確に表すことができる。End of Article

利用可能バージョン:.NET Framework 4以降
カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:StringBuilderクラス(System.Text名前空間)
関連TIPS:StringBuilderオブジェクトの文字列をクリアするには?

この記事と関連性の高い別の.NET TIPS
StringBuilderオブジェクトの文字列をクリアするには?
コンソール画面をクリアするには?
文字列の長さを取得するには?
文字列を連結するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH