C#でStringBuilderをクリアする方法(Clearメソッドの使い方)
C#でStringBuilderの中身をクリア(空に)したい場合は、Clear()メソッドを使います。このメソッドを呼び出すと、文字列の内容がすべて削除され、長さは0になります。
StringBuilderの準備
まず、次のようなStringBuilderを用意します。
string[] myStr = { "One", "Two", "Three", "Four" };
StringBuilder str = new StringBuilder("We will print now...").AppendLine();Clear()メソッドでクリアする
StringBuilderをクリアするには、以下のようにClear()メソッドを呼び出すだけです。
str.Clear();
それでは、完全なサンプルコードを見てみましょう。
サンプルコード
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());
int len = str.Length;
Console.WriteLine("Length: " + len);
// クリア処理
str.Clear();
int len2 = str.Length;
Console.WriteLine("Length after using Clear: " + len2);
Console.ReadLine();
}
}実行結果
We will print now... One Two Three Four Length: 40 Length after using Clear: 0
解説
このコードでは、まずforeachループを使って配列の各要素をStringBuilderに追加しています。追加後のLengthプロパティは40となっています。
その後、str.Clear()を実行すると、StringBuilder内のすべての文字列が削除され、Lengthは0になります。
なお、Clear()メソッドは.NET Framework 4.0以降で使用可能です。それ以前のバージョンでは、str.Length = 0;のようにLengthプロパティに0を代入することでも同様に内容をクリアできます。また、Clear()メソッドは内部バッファ(容量)を保持したまま文字列のみを削除するため、同じインスタンスを再利用する場合にも効率的です。
-
C#のStringBuilderでAppendLine()を使って文字列を追加し、最後に改行する方法
C#のStringBuilderクラスには、文字列を追加すると同時に末尾に改行を加えることができるAppendLine()メソッドが用意されています。複数行のテキストを組み立てる際に非常に便利なメソッドです。AppendLine()メソッドとはAppendLine()は、指定した文字列をStringBuilderの末尾に追加し、その後に改行コード(環境に応じた改行文字)を自動的に付加します。引数なしで呼び出した場合は、改行のみが追加されます。StringBuilderの初期化まず、StringBuilderオブジェクトを作成します。StringBuilder str = new StringB
-
C#のStringBuilderで文字列を追加する方法(Appendメソッドの使い方)
C#のStringBuilder.Append()メソッドとは C#では、StringBuilderクラスのAppend()メソッドを使用することで、既存の文字列の末尾に新しいコンテンツ(文字列や数値など)を追加できます。文字列を繰り返し連結する場合、string型の「+」演算子による連結よりもパフォーマンスに優れているため、大量の文字列操作が必要な場面で特に有効です。 StringBuilderインスタンスの作成 まず、StringBuilderオブジェクトを作成します。 StringBuilder str = new StringBuilder(); Append()メソッドで文字列を