「StringBuilderクラス」の版間の差分

提供:AB開発Wiki
ナビゲーションに移動検索に移動
(StringBuilderは可変長文字列のクラス)
 
(#127)
1行目: 1行目:
'''StringBuilder''' クラスは、可変長の文字列を取り扱うクラスです。
'''StringBuilder'''クラスは、可変長の文字列を取り扱うクラスです。


==クラスの機能==
==クラスの機能==
5行目: 5行目:
  Sub StringBuilder()
  Sub StringBuilder()
  Sub StringBuilder(capacity As Long)
  Sub StringBuilder(capacity As Long)
  Sub StringBuilder(s As [[String クラス|String]])
  Sub StringBuilder(s As [[Stringクラス|String]])
  Sub StringBuilder(capacity As Long, maxCapacity As Long)
  Sub StringBuilder(capacity As Long, maxCapacity As Long)
  Sub StringBuilder(s As String, capacity As Long)
  Sub StringBuilder(s As String, capacity As Long)
37行目: 37行目:
  Function Append(x As Single) As StringBuilder
  Function Append(x As Single) As StringBuilder
  Function Append(x As Double) As StringBuilder
  Function Append(x As Double) As StringBuilder
  Function Append(x As [[Object クラス|Object]]) As StringBuilder
  Function Append(x As [[Objectクラス|Object]]) As StringBuilder
  Function Append(x As [[String クラス|String]]) As StringBuilder
  Function Append(x As [[Stringクラス|String]]) As StringBuilder
;x
;x
:追加するデータ - String、StrChar以外は、それぞれ文字列化したものが追加されます。
:追加するデータ - String、StrChar以外は、それぞれ文字列化したものが追加されます。
87行目: 87行目:
====Equals====
====Equals====
2つのStringBuilderインスタンスを比較します。
2つのStringBuilderインスタンスを比較します。
  Override Function Equals(y As [[Object クラス|Object]]) As Boolean
  Override Function Equals(y As [[Objectクラス|Object]]) As Boolean
  Const Function Equals(y As StringBuilder) As Boolean
  Const Function Equals(y As StringBuilder) As Boolean
;y
;y
150行目: 150行目:
====ToString====
====ToString====
文字列化します。
文字列化します。
  Override Function ToString() As [[String クラス|String]]
  Override Function ToString() As [[Stringクラス|String]]
  Function ToString(startIndex As Long, length As Long) As String
  Function ToString(startIndex As Long, length As Long) As String
;startIndex
;startIndex
157行目: 157行目:
:startIndexから文字列化の対象とする文字の数
:startIndexから文字列化の対象とする文字の数
;戻り値
;戻り値
:このStringBuilderインスタンスを[[String クラス]]の文字列に変換したもの
:このStringBuilderインスタンスを[[Stringクラス]]の文字列に変換したもの
startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。
startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。


169行目: 169行目:
新しい値を設定すると、バッファの容量がそれにあわせて伸縮します。現在の長さ[[#Length|Length]]より小さい値を指定してはなりません。
新しい値を設定すると、バッファの容量がそれにあわせて伸縮します。現在の長さ[[#Length|Length]]より小さい値を指定してはなりません。


なお、実際の文字列の長さは、[[#Length|Length プロパティ]]で表されます。
なお、実際の文字列の長さは、[[#Length|Lengthプロパティ]]で表されます。


====Chars, 添え字・添え字代入演算子====
====Chars, 添え字・添え字代入演算子====
198行目: 198行目:


==関連項目==
==関連項目==
*[[StrPtr 関数]]
*[[StrPtr関数]]
 
[[Category:System.Text名前空間]]

2007年8月6日 (月) 02:24時点における版

StringBuilderクラスは、可変長の文字列を取り扱うクラスです。

クラスの機能

コンストラクタ

Sub StringBuilder()
Sub StringBuilder(capacity As Long)
Sub StringBuilder(s As String)
Sub StringBuilder(capacity As Long, maxCapacity As Long)
Sub StringBuilder(s As String, capacity As Long)
Sub StringBuilder(s As String, startIndex As Long, length As Long, capacity As Long)
capacity
内部で確保されるバッファの量
s
このStringBuilderインスタンスの内容を初期化する文字列
startIndex
sの内、初期化に使用する文字の開始位置
length
sの内、初期化に使用する部分のstartIndexからの長さ
maxCapaity
このStringBuilderインスタンスが取り扱う文字列の長さの上限

startIndexとlengthを省略すると、sの文字列全体が対象となります。

公開メソッド

戻り値がStringBuilderであるものは、全てThisを返します。

Append

文字列の末尾にデータを追加します。

Function Append(x As Boolean) As StringBuilder
Function Append(x As StrChar) As StringBuilder
Function Append(x As Word) As StringBuilder
Function Append(x As SByte) As StringBuilder
Function Append(x As Byte) As StringBuilder
Function Append(x As Integer) As StringBuilder
Function Append(x As Long) As StringBuilder
Function Append(x As DWord) As StringBuilder
Function Append(x As Int64) As StringBuilder
Function Append(x As QWord) As StringBuilder
Function Append(x As Single) As StringBuilder
Function Append(x As Double) As StringBuilder
Function Append(x As Object) As StringBuilder
Function Append(x As String) As StringBuilder
x
追加するデータ - String、StrChar以外は、それぞれ文字列化したものが追加されます。
Function Append(c As StrChar, n As Long) As StringBuilder
c
追加する文字
n
文字数

これはcをn個並べて追加します。

Function Append(s As String, startIndex As Long, count As Long) As StringBuilder
Function Append(s As *StrChar, startIndex As Long, count As Long) As StringBuilder
s
追加する文字列
startIndex
sの内、追加を開始する位置
count
startIndexからの追加する文字の数

AppendLine

改行を追加します。文字列を追加してから改行させることも可能です。

Function AppendLine() As StringBuilder
Function AppendLine(s As String) As StringBuilder
s
追加する文字列

改行文字列はEnvironment.NewLine プロパティで取得されます。

CopyTo

文字配列のバッファへこのStringBuilderインスタンスの内容を複製します。

Const Sub CopyTo(sourceIndex As Long, ByRef dest[] As StrChar, destIndex As Long, count As Long)
sourceIndex
複製の開始位置
dest
複製先のバッファ
destIndex
複製先の開始要素
count
複製する文字数

EnsureCapacity

このStringBuilderインスタンスの内部バッファの最低限を指定します。

Function EnsureCapacity(c As Long) As Long
c
最低限のバッファ量

Capacityよりcが大きければcを満たすようにバッファの大きさを拡張します。

Equals

2つのStringBuilderインスタンスを比較します。

Override Function Equals(y As Object) As Boolean
Const Function Equals(y As StringBuilder) As Boolean
y
比較対象のインスタンス

GetHashCode

このStringBuilderインスタンスのハッシュ値を返します。

Override Function GetHashCode() As Long

Insert

このStringBuilderインスタンスの途中に文字列を挿入します。

Function Insert(i As Long, x As Boolean) As StringBuilder
Function Insert(i As Long, x As StrChar) As StringBuilder
Function Insert(i As Long, x As Word) As StringBuilder
Function Insert(i As Long, x As SByte) As StringBuilder
Function Insert(i As Long, x As Byte) As StringBuilder
Function Insert(i As Long, x As Integer) As StringBuilder
Function Insert(i As Long, x As Long) As StringBuilder
Function Insert(i As Long, x As DWord) As StringBuilder
Function Insert(i As Long, x As Int64) As StringBuilder
Function Insert(i As Long, x As Single) As StringBuilder
Function Insert(i As Long, x As Double) As StringBuilder
Function Insert(i As Long, x As Object) As StringBuilder
Function Insert(i As Long, x As String) As StringBuilder
Function Insert(i As Long, x As String, n As Long) As StringBuilder
Function Insert(i As Long, x As *StrChar, startIndex As Long, count As Long) As StringBuilder
i
挿入する位置
x
挿入するデータ - String、StrChar以外は、それぞれ文字列化したものが挿入されます。
n
挿入する回数 - 指定するとn回繰り返し挿入されます。
startIndex
xの内、追加を開始する位置
count
startIndexからの追加する文字の数

Remove

指定された位置の文字列を削除します。

Function Remove(startIndex As Long, length As Long) As StringBuilder
startIndex
削除を開始する位置
length
startIndexから削除する長さ

Replace

文字列を置換します。

Function Replace(old As StrChar, new As StrChar) As StringBuilder
Function Replace(old As String, new As String) As StringBuilder
Function Replace(old As StrChar, new As StrChar, startIndex As Long, count As Long) As StringBuilder
Function Replace(old As String, new As String, startIndex As Long, count As Long) As StringBuilder
old
置換対象となる文字(列)
new
置換後の文字(列)
startIndex
置換元の文字列の探索を開始する位置
count
startIndexから置換対象の文字列を探索する文字の数

startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。

ToString

文字列化します。

Override Function ToString() As String
Function ToString(startIndex As Long, length As Long) As String
startIndex
文字列化を開始する位置
count
startIndexから文字列化の対象とする文字の数
戻り値
このStringBuilderインスタンスをStringクラスの文字列に変換したもの

startIndexとcountを省略すると、このStringBuilderインスタンス全体が対象となります。

公開プロパティ

Capacity

このStringBuilderインスタンスの内部バッファの容量の値を参照・設定します。

Const Function Capacity() As Long
Sub Capacity(c As Long)
c, 戻り値
内部バッファの容量

新しい値を設定すると、バッファの容量がそれにあわせて伸縮します。現在の長さLengthより小さい値を指定してはなりません。

なお、実際の文字列の長さは、Lengthプロパティで表されます。

Chars, 添え字・添え字代入演算子

文字の要素を読み書きします。

Const Function Chars(i As Long) As StrChar
Sub Chars(i As Long, c As StrChar)
Function Operator [](i As Long) As StrChar
Sub Operator []=(i As Long, c As StrChar)
i
読み書きする要素の番号
c, 戻り値
読み書きする文字

Length

文字列の長さを参照・設定します。

Const Function Length() As Long
Sub Length(i As Long)
i, 戻り値
文字列の長さ

iが現在の文字列の長さより大きい場合、増加した要素はヌル文字で埋められます。この際、必要に応じて内部バッファも拡張されます。

MaxCapacity

このStringBuilderインスタンスが取り扱う文字列の長さの上限を得ます。

Const Function MaxCapacity() As Long
戻り値
上限値

この値は、コンストラクタでのみ設定可能で、後からこの値を設定する方法はありません。

関連項目