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

C#のStringBuilder.ToString()メソッドとは?使い方とサンプルコードを解説

C#におけるStringBuilder.ToString()メソッドは、StringBuilderオブジェクトが保持している値をString(文字列)型に変換するためのメソッドです。可変長の文字列を効率的に操作できるStringBuilderから、通常の不変(immutable)な文字列として内容を取り出したい場面でよく使用されます。

構文

ToString()メソッドには、以下の2つのオーバーロードが用意されています。

public override string ToString ();
public string ToString (int begnIndex, int len);

1つ目は引数なしのバージョンで、StringBuilder全体の内容を文字列として返します。2つ目はパラメータを2つ受け取るバージョンで、begnIndexはこのインスタンス内における部分文字列の開始位置、lenは部分文字列の長さを表します。指定した範囲の部分文字列だけをStringとして取得することが可能です。

使用例1:ToString()の基本動作

まずは、基本的な使い方を確認してみましょう。

using System;
using System.Text;
public class Demo{
   public static void Main(){
      StringBuilder strBuilder = new StringBuilder("Katie");
      Console.WriteLine("String = "+strBuilder.ToString());
      Console.WriteLine("\nStringBuilder capacity = "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(35);
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(0);
      strBuilder.Length = 0;
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
   }
}

出力

上記のコードを実行すると、次のような結果が出力されます。

String = Katie
StringBuilder capacity = 16
StringBuilder length = 5
StringBuilder capacity= 35
StringBuilder length = 5
StringBuilder capacity= 35
StringBuilder length = 0

この例では、初期値「Katie」を持つStringBuilderを作成し、ToString()メソッドで文字列として出力しています。その後、EnsureCapacity(35)を呼び出すことで容量(Capacity)が16から35に拡張されますが、実際の文字数を示すLengthは5のまま変化しない点に注目してください。最後にLengthプロパティを0に設定することで、StringBuilderの内容をクリアしています。

使用例2:開始位置と長さを指定した部分文字列の取得

続いて、ToString(int begnIndex, int len)を使って部分文字列を取得する例を見てみましょう。

using System;
using System.Text;
public class Demo{
   public static void Main(){
      StringBuilder strBuilder = new StringBuilder("TomHanks");
      Console.WriteLine("StringBuilder = "+strBuilder.ToString());
      Console.WriteLine("String = "+strBuilder.ToString(3, 5));
      Console.WriteLine("\nStringBuilder capacity = "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(35);
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
      strBuilder.EnsureCapacity(0);
      strBuilder.Length = 0;
      Console.WriteLine("\nStringBuilder capacity= "+strBuilder.Capacity);
      Console.WriteLine("StringBuilder length = "+strBuilder.Length);
   }
}

出力

実行結果は以下の通りです。

StringBuilder = TomHanks
String = Hanks
StringBuilder capacity = 16
StringBuilder length = 8
StringBuilder capacity= 35
StringBuilder length = 8
StringBuilder capacity= 35
StringBuilder length = 0

ここでは、ToString(3, 5)と呼び出すことで、インデックス3の位置から5文字分の部分文字列を取得しています。その結果、「TomHanks」のうち「Hanks」だけがStringとして返されていることがわかります。このように、引数付きのToString()を使えば、StringBuilder内の任意の範囲を簡単に切り出すことができます。

  1. 【初心者向け】JavaScriptのRegExp toString()メソッドで正規表現を文字列として取得する方法

    RegExp toString()メソッドとは JavaScriptのRegExp toString()メソッドは、正規表現オブジェクト(RegExpオブジェクト)の文字列値を返すためのメソッドです。このメソッドを呼び出すと、パターンとフラグを含んだ正規表現リテラル形式(例: /fox/g)の文字列が取得できます。 デバッグ時や、正規表現の内容を画面に表示して確認したい場合などに便利なメソッドです。 以下は、RegExp toString()メソッドを使用した具体的なコード例です。 サンプルコード <!DOCTYPE html> <html lang="ja&qu

  2. C#の列挙型ToString()メソッドの使い方を解説

    C#におけるToString()メソッドは、列挙型(enum)インスタンスの値を対応する文字列表現に変換するためのメソッドです。この記事では、基本的な使い方から書式指定子を使った応用例まで、サンプルコードとともに解説します。列挙型の定義まずは、例として車両を表す列挙型を定義します。enum Vehicle { Car, Bus, Truck, Motobike };ToString()メソッドで文字列に変換する列挙型の値を文字列表現に変換するには、ToString()メソッドを使用します。Vehicle.Car.ToString(d)ここで引数に指定しているdは書式指定子です。dまたはDを指定