StringBuilder.Capacity-Eigenschaft
Ruft die Höchstanzahl von Zeichen ab, die im durch die aktuelle Instanz reservierten Speicher enthalten sein können, oder legt diese fest.
Namespace: System.Text
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Property Capacity As Integer
'Usage
Dim instance As StringBuilder
Dim value As Integer
value = instance.Capacity
instance.Capacity = value
public int Capacity { get; set; }
public:
property int Capacity {
int get ();
void set (int value);
}
/** @property */
public int get_Capacity ()
/** @property */
public void set_Capacity (int value)
public function get Capacity () : int
public function set Capacity (value : int)
Eigenschaftenwert
Die Höchstanzahl von Zeichen, die im durch die aktuelle Instanz reservierten Speicher enthalten sein können.
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der für einen set-Vorgang angegebene Wert ist kleiner als die aktuelle Länge dieser Instanz. – oder – Der für einen set-Vorgang angegebene Wert ist größer als die maximale Kapazität. |
Hinweise
Capacity hat keine Auswirkung auf den Zeichenfolgenwert der aktuellen Instanz. Capacity kann verkleinert werden, solange Length nicht unterschritten wird.
Der StringBuilder reserviert bei Bedarf dynamisch weiteren Speicher und vergrößert Capacity entsprechend. Zur Leistungssteigerung kann ein StringBuilder mehr Speicher als erforderlich reservieren. Die reservierte Speichermenge ist von der Implementierung abhängig.
Beispiel
Im folgenden Codebeispiel wird die Capacity-Eigenschaft veranschaulicht.
Imports System
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 'Main
End Class 'Sample
'
'This example produces the following results:
'
'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 = 51
'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 = 51
'c2) sb2.Length = 3, sb2.Capacity = 51
'c3) sb1.ToString() = "", sb2.ToString() = "abc"
'c4) sb1 equals sb2: False
'
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));
}
}
/*
This example produces the following results:
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 = 51
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 = 51
c2) sb2.Length = 3, sb2.Capacity = 51
c3) sb1.ToString() = "", sb2.ToString() = "abc"
c4) sb1 equals sb2: False
*/
using namespace System;
using namespace System::Text;
int main()
{
StringBuilder^ sb1 = gcnew StringBuilder( "abc" );
StringBuilder^ sb2 = gcnew 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 = \"{0}\", sb2 = \"{1}\"", sb1, sb2 );
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 = \"{0}\", sb2 = \"{1}\"", sb1, sb2 );
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 = \"{0}\", sb2 = \"{1}\"", sb1, sb2 );
Console::WriteLine( "c4) sb1 equals sb2: {0}", sb1->Equals( sb2 ) );
}
/*
This example produces the following results:
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 = 51
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 = 51
c2) sb2.Length = 3, sb2.Capacity = 51
c3) sb1.ToString() = "", sb2.ToString() = "abc"
c4) sb1 equals sb2: False
*/
// This example demonstrates StringBuilder.EnsureCapacity
// StringBuilder.Capacity
// StringBuilder.Length
// StringBuilder.Equals
import System.*;
import System.Text.*;
class Sample
{
public static void main(String[] args)
{
StringBuilder sb1 = new StringBuilder("abc");
StringBuilder sb2 = new StringBuilder("abc", 16);
Console.WriteLine();
Console.WriteLine("a1) sb1.get_Length() = {0}, "
+ "sb1.get_Capacity() = {1}",
System.Convert.ToString(sb1.get_Length()),
System.Convert.ToString(sb1.get_Capacity()));
Console.WriteLine("a2) sb2.get_Length() = {0}, "
+ "sb2.get_Capacity() = {1}",
System.Convert.ToString(sb2.get_Length()),
System.Convert.ToString(sb2.get_Capacity()));
Console.WriteLine("a3) sb1.ToString() = \"{0}\", "
+ "sb2.ToString() = \"{1}\"", sb1.ToString(), sb2.ToString());
Console.WriteLine("a4) sb1 equals sb2: {0}",
System.Convert.ToString(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.get_Length() = {0}, "
+ "sb1.get_Capacity() = {1}",
System.Convert.ToString(sb1.get_Length()),
System.Convert.ToString(sb1.get_Capacity()));
Console.WriteLine("b2) sb2.get_Length() = {0}, "
+ "sb2.get_Capacity() = {1}",
System.Convert.ToString(sb2.get_Length()),
System.Convert.ToString(sb2.get_Capacity()));
Console.WriteLine("b3) sb1.ToString() = \"{0}\", "
+ "sb2.ToString() = \"{1}\"", sb1.ToString(), sb2.ToString());
Console.WriteLine("b4) sb1 equals sb2: {0}",
System.Convert.ToString(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.set_Length(0);
sb2.set_Capacity(51);
Console.WriteLine();
Console.WriteLine("c1) sb1.get_Length() = {0}, "
+ "sb1.get_Capacity() = {1}",
System.Convert.ToString(sb1.get_Length()),
System.Convert.ToString(sb1.get_Capacity()));
Console.WriteLine("c2) sb2.get_Length() = {0}, "
+ "sb2.get_Capacity() = {1}",
System.Convert.ToString(sb2.get_Length()),
System.Convert.ToString(sb2.get_Capacity()));
Console.WriteLine("c3) sb1.ToString() = \"{0}\", "
+ "sb2.ToString() = \"{1}\"", sb1.ToString(), sb2.ToString());
Console.WriteLine("c4) sb1 equals sb2: {0}",
System.Convert.ToString(sb1.Equals(sb2)));
} //main
} //Sample
/*
This example produces the following results:
a1) sb1.get_Length() = 3, sb1.get_Capacity() = 16
a2) sb2.get_Length() = 3, sb2.get_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.get_Length() = 3, sb1.get_Capacity() = 50
b2) sb2.get_Length() = 3, sb2.get_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.get_Length() = 0, sb1.get_Capacity() = 50
c2) sb2.get_Length() = 3, sb2.get_Capacity() = 51
c3) sb1.ToString() = "", sb2.ToString() = "abc"
c4) sb1 equals sb2: False
*/
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
StringBuilder-Klasse
StringBuilder-Member
System.Text-Namespace