string builderとは? わかりやすく解説

StringBuilder クラス

可変型の文字列表します。このクラス継承できません。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 StringBuilder
    Implements ISerializable
Dim instance As StringBuilder
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class StringBuilder : ISerializable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class StringBuilder sealed : ISerializable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class StringBuilder implements
 ISerializable
SerializableAttribute 
ComVisibleAttribute(true) 
public final class StringBuilder implements
 ISerializable
解説解説

このクラスは、可変型の文字シーケンスである値を持つ、文字列のようなオブジェクト表します文字追加削除置換または挿入して値を作成した後にその値を変更できるため、値が可変型と呼ばれます比較のため、String クラストピック参照してください

このクラスインスタンス変更するメソッド多くは、同じインスタンスへの参照返しますインスタンスへの参照返されるため、参照に対してメソッドまたはプロパティ呼び出すことができます。これは、連続した操作次々チェイン化する単一ステートメントを書く場合役立ちます

StringBuilder容量は、インスタンス指定した時間格納できる最大文字数で、インスタンスの値の文字列形式長さ上です。容量は、Capacity プロパティまたは EnsureCapacity メソッド使用して増減できます。ただし、Length プロパティの値より小さくすることはできません。

StringBuilderインスタンス初期化されるときに、容量または最大容量指定されなかった場合は、実装固有の既定容量使用されます。

パフォーマンスに関する考慮事項

Concat メソッドと AppendFormat メソッドは、どちらも新しデータ既存String オブジェクトまたは StringBuilder オブジェクト連結します。String オブジェクト連結演算は、常に既存文字列新しデータから新しオブジェクト作成します一方StringBuilder オブジェクトは、新しデータ連結使用するためのバッファ保持しますバッファ十分な容量がある場合は、新しデータバッファ末尾追加されます。容量足りない場合は、より大きなバッファ新しく割り当てられ、元のバッファから新しバッファデータコピーされたうえで、新しデータ新しバッファ追加されます。

String または StringBuilder オブジェクト連結演算パフォーマンスは、メモリ割り当て頻度依存してます。String連結演算では、常にメモリ割り当てられます。一方StringBuilder連結演算では、StringBuilder オブジェクトバッファ新しデータのための十分な容量ない場合にのみ、メモリ割り当てられます。たがって連結する String オブジェクトの数が決まっている場合は、String クラス使用した方が効率的です。この場合個々連結演算は、コンパイラによって 1 つ演算結合されます。これに対しランダムな数の文字列ユーザーから入力として受け取りループ処理で連結する場合など、連結する文字列の数が不定である場合は、StringBuilder オブジェクト適してます。

実装時の注意 この実装既定容量16 で、既定最大容量は Int32.MaxValue です。 StringBuilder は、インスタンスの値が大きくなった場合に、文字格納するために必要なより多くメモリ割り当てることができます。それに応じて容量調整されます。割り当てられメモリの量が実装固有で、必要なメモリ量が最大容量より大きい場合は、ArgumentOutOfRangeException がスローさます。 たとえば、Append メソッド、AppendFormat メソッドEnsureCapacity メソッドInsert メソッド、および Replace メソッドインスタンスの値を拡大できますStringBuilder の値内の個別文字は、Chars プロパティ使用してアクセスできますインデックス位置は 0 から始まります

使用例使用例

次のコード例は、StringBuilder クラス定義され多くメソッド呼び出す方法示してます。

using System;
using System.Text;

public sealed class App 
{
    static void Main() 
    {
        // Create a StringBuilder that expects to hold 50 characters.
        // Initialize the StringBuilder with "ABC".
        StringBuilder sb = new StringBuilder("ABC",
 50);

        // Append three characters (D, E, and F) to the end of the StringBuilder.
        sb.Append(new char[] { 'D', 'E', 'F'
 });

        // Append a format string to the end of the StringBuilder.
        sb.AppendFormat("GHI{0}{1}", 'J', 'k');

        // Display the number of characters in the StringBuilder and
 its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());

        // Insert a string at the beginning of the StringBuilder.
        sb.Insert(0, "Alphabet: ");

        // Replace all lowercase k's with uppercase K's.
        sb.Replace('k', 'K');

        // Display the number of characters in the StringBuilder and
 its string.
        Console.WriteLine("{0} chars: {1}", sb.Length, sb.ToString());
    }
}

// This code produces the following output.
//
// 11 chars: ABCDEFGHIJk
// 21 chars: Alphabet: ABCDEFGHIJK
using namespace System;
using namespace System::Text;

int main()
{
    // Create a StringBuilder that expects to hold 50 characters.
    // Initialize the StringBuilder with "ABC".
    StringBuilder^ sb = gcnew StringBuilder("ABC", 50);

    // Append three characters (D, E, and F) to the end of the
    // StringBuilder.
    sb->Append(gcnew array<Char>{'D', 'E', 'F'});

    // Append a format string to the end of the StringBuilder.
    sb->AppendFormat("GHI{0}{1}", (Char)'J', (Char)'k');

    // Display the number of characters in the StringBuilder
    // and its string.
    Console::WriteLine("{0} chars: {1}", sb->Length, sb->ToString());

    // Insert a string at the beginning of the StringBuilder.
    sb->Insert(0, "Alphabet: ");

    // Replace all lowercase k's with uppercase K's.
    sb->Replace('k', 'K');

    // Display the number of characters in the StringBuilder
    // and its string.
    Console::WriteLine("{0} chars: {1}", sb->Length, sb->ToString());
}

// This code produces the following output.
//
// 11 chars: ABCDEFGHIJk
// 21 chars: Alphabet: ABCDEFGHIJK
継承階層継承階層
System.Object
  System.Text.StringBuilder
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ ()

StringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public StringBuilder ()
public:
StringBuilder ()
public StringBuilder ()
public function StringBuilder ()
解説解説
使用例使用例

次のコード例は、パラメータのない StringBuilder コンストラクタ呼び出す方法示してます。

Dim stringBuilder As New
 StringBuilder
StringBuilder stringBuilder = new StringBuilder();
StringBuilder^ stringBuilder = gcnew StringBuilder;
StringBuilder stringBuilder = new StringBuilder();
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ (String)

指定した文字列使用してStringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

public StringBuilder (
    string value
)
public:
StringBuilder (
    String^ value
)
public StringBuilder (
    String value
)
public function StringBuilder (
    value : String
)

パラメータ

value

インスタンスの値を初期化するために使用される文字列valuenull 参照 (Visual Basic では Nothing) の場合新しい StringBuilder は空の文字列、つまり、Empty含みます

解説解説

valuenull 参照 (Visual Basic では Nothing) の場合新しい StringBuilder は空の文字列、つまり、Empty含みます

使用例使用例

次のコード例は、文字列指定して StringBuilder コンストラクタ呼び出す方法示してます。

Dim initialString As String
 = "Initial string."
Dim stringBuilder As New
 StringBuilder(initialString)
string initialString = "Initial string.";
StringBuilder stringBuilder = new StringBuilder(initialString);
String^ initialString = L"Initial string.";
StringBuilder^ stringBuilder = gcnew StringBuilder( initialString );
String initialString = "Initial string.";
StringBuilder stringBuilder = new StringBuilder(initialString);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ (Int32)

指定した容量使用して、StringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentOutOfRangeException

capacity が 0 未満です。

解説解説
使用例使用例

次のコード例は、容量指定して StringBuilder コンストラクタ呼び出す方法示してます。

Dim capacity As Integer
 = 255
Dim stringBuilder As New
 StringBuilder(capacity)
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(capacity);
int capacity = 255;
StringBuilder^ stringBuilder = gcnew StringBuilder( capacity );
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(capacity);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ (Int32, Int32)

指定した容量始まり指定した最大容量まで大きくなる StringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    capacity As Integer, _
    maxCapacity As Integer _
)
Dim capacity As Integer
Dim maxCapacity As Integer

Dim instance As New StringBuilder(capacity,
 maxCapacity)
public StringBuilder (
    int capacity,
    int maxCapacity
)
public:
StringBuilder (
    int capacity, 
    int maxCapacity
)
public StringBuilder (
    int capacity, 
    int maxCapacity
)
public function StringBuilder (
    capacity : int, 
    maxCapacity : int
)

パラメータ

capacity

StringBuilder の推奨される開始サイズ

maxCapacity

現在の文字列が含むことができる最大文字数

例外例外
例外種類条件

ArgumentOutOfRangeException

maxCapacity1 未満で、capacity が 0 未満です。または capacitymaxCapacity超えてます。

解説解説
使用例使用例

次のコード例は、容量最大容量指定して StringBuilder コンストラクタ呼び出す方法示してます。

Dim capacity As Integer
 = 255
Dim maxCapacity As Integer
 = 1024
Dim stringBuilder As New
 StringBuilder(capacity, maxCapacity)
int capacity = 255;
int maxCapacity = 1024;
StringBuilder stringBuilder = 
    new StringBuilder(capacity, maxCapacity);
int capacity = 255;
int maxCapacity = 1024;
StringBuilder^ stringBuilder = gcnew StringBuilder( capacity,maxCapacity );
int capacity = 255;
int maxCapacity = 1024;
StringBuilder stringBuilder = new StringBuilder(capacity, maxCapacity);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ

StringBuilder クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

参照参照

関連項目

StringBuilder クラス
StringBuilder メンバ
System.Text 名前空間

StringBuilder コンストラクタ (String, Int32, Int32, Int32)

指定した部分文字列および容量から StringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    value As String, _
    startIndex As Integer, _
    length As Integer, _
    capacity As Integer _
)
Dim value As String
Dim startIndex As Integer
Dim length As Integer
Dim capacity As Integer

Dim instance As New StringBuilder(value,
 startIndex, length, capacity)
public StringBuilder (
    string value,
    int startIndex,
    int length,
    int capacity
)
public:
StringBuilder (
    String^ value, 
    int startIndex, 
    int length, 
    int capacity
)
public StringBuilder (
    String value, 
    int startIndex, 
    int length, 
    int capacity
)
public function StringBuilder (
    value : String, 
    startIndex : int, 
    length : int, 
    capacity : int
)

パラメータ

value

このインスタンスの値を初期化するために使用される部分文字列を含む文字列valuenull 参照 (Visual Basic では Nothing) の場合新しい StringBuilder は空の文字列、つまり、Empty含みます

startIndex

value における部分文字列開始位置

length

部分文字列文字数

capacity

StringBuilder推奨される開始サイズ

例外例外
例外種類条件

ArgumentOutOfRangeException

capacity が 0 未満です。

または

startIndexlength加算した値が、value 内にない位置示してます。

解説解説
使用例使用例

次のコード例は、文字列指定して StringBuilder コンストラクタ呼び出す方法示してます。

Dim initialString As String
 = "Initial string for stringbuilder."
Dim startIndex As Integer
 = 0
Dim substringLength As Integer
 = 14
Dim capacity As Integer
 = 255
Dim stringBuilder As New
 StringBuilder(initialString, _
    startIndex, substringLength, capacity)
string initialString = "Initial string
 for stringbuilder.";
int startIndex = 0;
int substringLength = 14;
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(initialString
,
 
    startIndex, substringLength, capacity);
String^ initialString = L"Initial string for
 stringbuilder.";
int startIndex = 0;
int substringLength = 14;
int capacity = 255;
StringBuilder^ stringBuilder = gcnew StringBuilder(
   initialString,startIndex,substringLength,capacity );
String initialString = "Initial string for
 stringbuilder.";
int startIndex = 0;
int substringLength = 14;
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(initialString
,
    startIndex, substringLength, capacity);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder コンストラクタ (String, Int32)

指定した文字列および容量使用してStringBuilder クラス新しインスタンス初期化します。

名前空間: System.Text
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

例外例外
例外種類条件

ArgumentOutOfRangeException

capacity が 0 未満です。

解説解説
使用例使用例

次のコード例は、初期文字列容量指定して StringBuilder コンストラクタ呼び出す方法示してます。

Dim initialString As String
 = "Initial string. "
Dim capacity As Integer
 = 255
Dim stringBuilder As New
 StringBuilder(initialString, capacity)
string initialString = "Initial string.
 ";
int capacity = 255;
StringBuilder stringBuilder = 
    new StringBuilder(initialString, capacity);
String^ initialString = L"Initial string. ";
int capacity = 255;
StringBuilder^ stringBuilder = gcnew StringBuilder(
   initialString,capacity );
String initialString = "Initial string. ";
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(initialString,
 capacity);
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

StringBuilder プロパティ


StringBuilder メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Append オーバーロードされます指定したオブジェクト文字列形式をこのインスタンス末尾追加します
パブリック メソッド AppendFormat オーバーロードされます。 0 個以上の書式指定含んでいる書式付き文字列をこのインスタンス追加します各書指定は、対応するオブジェクト引数文字列形式置換されます。
パブリック メソッド AppendLine オーバーロードされます既定の行終端記号、または指定した文字列コピー既定の行終端記号を、このインスタンス末尾追加します
パブリック メソッド CopyTo このインスタンス指定したセグメントにある文字を、特定の Char 配列指定したセグメントコピーします
パブリック メソッド EnsureCapacity このインスタンスの StringBuilder の容量が、指定した以上になるようにします。
パブリック メソッド Equals オーバーロードされます対象インスタンスが、指定したオブジェクト等しかどうかを示す値を返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Insert オーバーロードされます指定したオブジェクト文字列形式をこのインスタンス指定した文字位置挿入します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Remove このインスタンスから、指定した範囲文字削除します
パブリック メソッド Replace オーバーロードされます。 このインスタンス出現する指定文字または指定文字列をすべて、別に指定した文字または文字列に置換します。
パブリック メソッド ToString オーバーロードされますオーバーライドされますStringBuilder の値を String変換します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData System.Runtime.Serialization.SerializationInfo オブジェクトに、現在の StringBuilder オブジェクトを逆シリアル化するために必要なデータ代入ます。
参照参照

関連項目

StringBuilder クラス
System.Text 名前空間
String

StringBuilder メンバ

可変型の文字列表します。このクラス継承できません。

StringBuilder データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ .NET Compact Framework によるサポート .NET Compact Framework によるサポート .NET Compact Framework によるサポート MaxCapacity このインスタンス最大容量取得します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Append オーバーロードされます指定したオブジェクト文字列形式をこのインスタンス末尾追加します
パブリック メソッド AppendFormat オーバーロードされます。 0 個以上の書式指定含んでいる書式付き文字列をこのインスタンス追加します各書指定は、対応するオブジェクト引数文字列形式置換されます。
パブリック メソッド AppendLine オーバーロードされます既定の行終端記号、または指定した文字列コピー既定の行終端記号を、このインスタンス末尾追加します
パブリック メソッド CopyTo このインスタンス指定したセグメントにある文字を、特定の Char 配列指定したセグメントコピーします
パブリック メソッド EnsureCapacity このインスタンスStringBuilder容量が、指定した以上になるようにします。
パブリック メソッド Equals オーバーロードされます対象インスタンスが、指定したオブジェクト等しかどうかを示す値を返します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Insert オーバーロードされます指定したオブジェクト文字列形式をこのインスタンス指定した文字位置挿入します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Remove このインスタンスから、指定した範囲文字削除します
パブリック メソッド Replace オーバーロードされます。 このインスタンス出現する指定文字または指定文字列をすべて、別に指定した文字または文字列に置換します。
パブリック メソッド ToString オーバーロードされますオーバーライドされますStringBuilder の値を String変換します
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Runtime.Serialization.ISerializable.GetObjectData System.Runtime.Serialization.SerializationInfo オブジェクトに、現在の StringBuilder オブジェクトを逆シリアル化するために必要なデータ代入ます。
参照参照

関連項目

StringBuilder クラス
System.Text 名前空間
String


このページでは「.NET Framework クラス ライブラリ リファレンス」からstring builderを検索した結果を表示しています。
Weblioに収録されているすべての辞書からstring builderを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からstring builderを検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「string builder」の関連用語

string builderのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



string builderのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS