StringBuilder.Length プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
現在の StringBuilder オブジェクトの長さを取得または設定します。
public:
property int Length { int get(); void set(int value); };
public int Length { get; set; }
member this.Length : int with get, set
Public Property Length As Integer
プロパティ値
このインスタンスの長さ。
例外
設定操作で指定された値は、0 より小さい値か、MaxCapacity より大きい値になります。
例
Lengthプロパティの例を次に示します。
using System;
using System.Text;
class Sample
{
public static void Main()
{
StringBuilder sb1 = new StringBuilder("abc");
StringBuilder sb2 = new StringBuilder("abc", 16);
Console.WriteLine();
Console.WriteLine("a1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity);
Console.WriteLine("a2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity);
Console.WriteLine("a3) sb1.ToString() = \"{0}\", sb2.ToString() = \"{1}\"",
sb1.ToString(), sb2.ToString());
Console.WriteLine("a4) sb1 equals sb2: {0}", sb1.Equals(sb2));
Console.WriteLine();
Console.WriteLine("Ensure sb1 has a capacity of at least 50 characters.");
sb1.EnsureCapacity(50);
Console.WriteLine();
Console.WriteLine("b1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity);
Console.WriteLine("b2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity);
Console.WriteLine("b3) sb1.ToString() = \"{0}\", sb2.ToString() = \"{1}\"",
sb1.ToString(), sb2.ToString());
Console.WriteLine("b4) sb1 equals sb2: {0}", sb1.Equals(sb2));
Console.WriteLine();
Console.WriteLine("Set the length of sb1 to zero.");
Console.WriteLine("Set the capacity of sb2 to 51 characters.");
sb1.Length = 0;
sb2.Capacity = 51;
Console.WriteLine();
Console.WriteLine("c1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity);
Console.WriteLine("c2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity);
Console.WriteLine("c3) sb1.ToString() = \"{0}\", sb2.ToString() = \"{1}\"",
sb1.ToString(), sb2.ToString());
Console.WriteLine("c4) sb1 equals sb2: {0}", sb1.Equals(sb2));
}
}
/*
The example displays the following output:
a1) sb1.Length = 3, sb1.Capacity = 16
a2) sb2.Length = 3, sb2.Capacity = 16
a3) sb1.ToString() = "abc", sb2.ToString() = "abc"
a4) sb1 equals sb2: True
Ensure sb1 has a capacity of at least 50 characters.
b1) sb1.Length = 3, sb1.Capacity = 50
b2) sb2.Length = 3, sb2.Capacity = 16
b3) sb1.ToString() = "abc", sb2.ToString() = "abc"
b4) sb1 equals sb2: False
Set the length of sb1 to zero.
Set the capacity of sb2 to 51 characters.
c1) sb1.Length = 0, sb1.Capacity = 50
c2) sb2.Length = 3, sb2.Capacity = 51
c3) sb1.ToString() = "", sb2.ToString() = "abc"
c4) sb1 equals sb2: False
*/
open System.Text
let sb1 = StringBuilder "abc"
let sb2 = StringBuilder("abc", 16)
printfn $"a1) sb1.Length = {sb1.Length}, sb1.Capacity = {sb1.Capacity}"
printfn $"a2) sb2.Length = {sb2.Length}, sb2.Capacity = {sb2.Capacity}"
printfn $"a3) sb1.ToString() = \"{sb1}\", sb2.ToString() = \"{sb2}\""
printfn $"a4) sb1 equals sb2: {sb1.Equals sb2}"
printfn "\nEnsure sb1 has a capacity of at least 50 characters."
sb1.EnsureCapacity 50 |> ignore
printfn $"\nb1) sb1.Length = {sb1.Length}, sb1.Capacity = {sb1.Capacity}"
printfn $"b2) sb2.Length = {sb2.Length}, sb2.Capacity = {sb2.Capacity}"
printfn $"b3) sb1.ToString() = \"{sb1}\", sb2.ToString() = \"{sb2}\""
printfn $"b4) sb1 equals sb2: {sb1.Equals sb2}"
printfn "\nSet the length of sb1 to zero."
printfn "Set the capacity of sb2 to 51 characters."
sb1.Length <- 0
sb2.Capacity <- 51
printfn $"\nc1) sb1.Length = {sb1.Length}, sb1.Capacity = {sb1.Capacity}"
printfn $"c2) sb2.Length = {sb2.Length}, sb2.Capacity = {sb2.Capacity}"
printfn $"c3) sb1.ToString() = \"{sb1}\", sb2.ToString() = \"{sb2}\""
printfn $"c4) sb1 equals sb2: {sb1.Equals sb2}"
// The example displays the following output:
// a1) sb1.Length = 3, sb1.Capacity = 16
// a2) sb2.Length = 3, sb2.Capacity = 16
// a3) sb1.ToString() = "abc", sb2.ToString() = "abc"
// a4) sb1 equals sb2: True
//
// Ensure sb1 has a capacity of at least 50 characters.
//
// b1) sb1.Length = 3, sb1.Capacity = 50
// b2) sb2.Length = 3, sb2.Capacity = 16
// b3) sb1.ToString() = "abc", sb2.ToString() = "abc"
// b4) sb1 equals sb2: False
//
// Set the length of sb1 to zero.
// Set the capacity of sb2 to 51 characters.
//
// c1) sb1.Length = 0, sb1.Capacity = 50
// c2) sb2.Length = 3, sb2.Capacity = 51
// c3) sb1.ToString() = "", sb2.ToString() = "abc"
// c4) sb1 equals sb2: False
Imports System.Text
Class Sample
Public Shared Sub Main()
Dim sb1 As New StringBuilder("abc")
Dim sb2 As New StringBuilder("abc", 16)
Console.WriteLine()
Console.WriteLine("a1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity)
Console.WriteLine("a2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity)
Console.WriteLine("a3) sb1.ToString() = ""{0}"", sb2.ToString() = ""{1}""", _
sb1.ToString(), sb2.ToString())
Console.WriteLine("a4) sb1 equals sb2: {0}", sb1.Equals(sb2))
Console.WriteLine()
Console.WriteLine("Ensure sb1 has a capacity of at least 50 characters.")
sb1.EnsureCapacity(50)
Console.WriteLine()
Console.WriteLine("b1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity)
Console.WriteLine("b2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity)
Console.WriteLine("b3) sb1.ToString() = ""{0}"", sb2.ToString() = ""{1}""", _
sb1.ToString(), sb2.ToString())
Console.WriteLine("b4) sb1 equals sb2: {0}", sb1.Equals(sb2))
Console.WriteLine()
Console.WriteLine("Set the length of sb1 to zero.")
Console.WriteLine("Set the capacity of sb2 to 51 characters.")
sb1.Length = 0
sb2.Capacity = 51
Console.WriteLine()
Console.WriteLine("c1) sb1.Length = {0}, sb1.Capacity = {1}", sb1.Length, sb1.Capacity)
Console.WriteLine("c2) sb2.Length = {0}, sb2.Capacity = {1}", sb2.Length, sb2.Capacity)
Console.WriteLine("c3) sb1.ToString() = ""{0}"", sb2.ToString() = ""{1}""", _
sb1.ToString(), sb2.ToString())
Console.WriteLine("c4) sb1 equals sb2: {0}", sb1.Equals(sb2))
End Sub
End Class
'The example displays the following output:
' a1) sb1.Length = 3, sb1.Capacity = 16
' a2) sb2.Length = 3, sb2.Capacity = 16
' a3) sb1.ToString() = "abc", sb2.ToString() = "abc"
' a4) sb1 equals sb2: True
'
' Ensure sb1 has a capacity of at least 50 characters.
'
' b1) sb1.Length = 3, sb1.Capacity = 50
' b2) sb2.Length = 3, sb2.Capacity = 16
' b3) sb1.ToString() = "abc", sb2.ToString() = "abc"
' b4) sb1 equals sb2: False
'
' Set the length of sb1 to zero.
' Set the capacity of sb2 to 51 characters.
'
' c1) sb1.Length = 0, sb1.Capacity = 50
' c2) sb2.Length = 3, sb2.Capacity = 51
' c3) sb1.ToString() = "", sb2.ToString() = "abc"
' c4) sb1 equals sb2: False
注釈
オブジェクトの StringBuilder 長さは、そのオブジェクトの Char 数によって定義されます。
プロパティと同様に String.Length 、 プロパティは Length 現在の文字列オブジェクトの長さを示します。 String.Length読み取り専用の プロパティとは異なり、 Length プロパティを使用すると、 オブジェクトに格納されているStringBuilder文字列の長さを変更できます。
指定した長さが現在の長さより小さい場合、現在 StringBuilder のオブジェクトは指定した長さに切り捨てられます。 指定した長さが現在の長さより大きい場合、現在 StringBuilder のオブジェクトの文字列値の末尾に Unicode NULL 文字 (U+0000) が埋め込まれます。
指定した長さが現在の容量より大きい場合は、 Capacity 指定した長さ以上になるように 増加します。