StringBuilder 构造函数

定义

初始化 StringBuilder 类的新实例。

重载

StringBuilder()

初始化 StringBuilder 类的新实例。

StringBuilder(Int32)

使用指定的容量初始化 StringBuilder 类的新实例。

StringBuilder(String)

使用指定的字符串初始化 StringBuilder 类的新实例。

StringBuilder(Int32, Int32)

初始化 StringBuilder 类的新实例,该类起始于指定容量并且可增长到指定的最大容量。

StringBuilder(String, Int32)

使用指定的字符串和容量初始化 StringBuilder 类的新实例。

StringBuilder(String, Int32, Int32, Int32)

从指定的子字符串和容量初始化 StringBuilder 类的新实例。

StringBuilder()

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

初始化 StringBuilder 类的新实例。

C#
public StringBuilder ();

示例

以下示例演示如何在没有参数的情况下调用 StringBuilder 构造函数。

C#
StringBuilder stringBuilder = new StringBuilder();

注解

此实例的字符串值设置为 String.Empty,容量设置为特定于实现的默认容量。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StringBuilder(Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

使用指定的容量初始化 StringBuilder 类的新实例。

C#
public StringBuilder (int capacity);

参数

capacity
Int32

此实例的建议起始大小。

例外

capacity 小于零。

示例

以下示例演示如何调用具有指定容量的 StringBuilder 构造函数。

C#
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(capacity);

注解

参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity ,则 StringBuilder 对象会分配额外的内存来存储这些字符。

此实例的字符串值设置为 String.Empty。 如果 capacity 为零,则使用特定于实现的默认容量。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StringBuilder(String)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

使用指定的字符串初始化 StringBuilder 类的新实例。

C#
public StringBuilder (string value);
C#
public StringBuilder (string? value);

参数

value
String

用于初始化实例值的字符串。 如果 valuenull,则新的 StringBuilder 将包含空字符串(即包含 Empty)。

示例

以下示例演示如何使用指定的字符串调用 StringBuilder 构造函数。

C#
string initialString = "Initial string.";
StringBuilder stringBuilder = new StringBuilder(initialString);

注解

如果 valuenull,则新的 StringBuilder 将包含空字符串(即包含 Empty)。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StringBuilder(Int32, Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

初始化 StringBuilder 类的新实例,该类起始于指定容量并且可增长到指定的最大容量。

C#
public StringBuilder (int capacity, int maxCapacity);

参数

capacity
Int32

StringBuilder 的建议起始大小。

maxCapacity
Int32

当前字符串可包含的最大字符数。

例外

maxCapacity 小于一,capacity 小于零,或 capacity 大于 maxCapacity

示例

以下示例演示如何调用 StringBuilder 具有指定容量和最大容量的构造函数。

C#
int capacity = 255;
int maxCapacity = 1024;
StringBuilder stringBuilder = 
    new StringBuilder(capacity, maxCapacity);

注解

参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity ,则 StringBuilder 对象会分配额外的内存来存储这些字符。

如果 capacity 为零,则使用特定于实现的默认容量。

属性 maxCapacity 定义当前实例可以容纳的最大字符数。 其值分配给 MaxCapacity 属性。 如果要存储在当前实例中的字符数超过此值 maxCapacity ,则 StringBuilder 对象不会分配额外的内存,而是引发异常。

调用方说明

在 .NET Core 和 .NET Framework 4.0 及更高版本中,通过调用 StringBuilder(Int32, Int32) 构造函数实例化 StringBuilder 对象时,实例的StringBuilder长度和容量都可能超出其MaxCapacity属性的值。 尤其是在调用 Append(String)AppendFormat(String, Object) 方法以追加小字符串时,可能会出现这种情况。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StringBuilder(String, Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

使用指定的字符串和容量初始化 StringBuilder 类的新实例。

C#
public StringBuilder (string value, int capacity);
C#
public StringBuilder (string? value, int capacity);

参数

value
String

用于初始化实例值的字符串。 如果 valuenull,则新的 StringBuilder 将包含空字符串(即包含 Empty)。

capacity
Int32

StringBuilder 的建议起始大小。

例外

capacity 小于零。

示例

以下示例演示如何使用初始字符串和指定的容量调用 StringBuilder 构造函数。

C#
string initialString = "Initial string. ";
int capacity = 255;
StringBuilder stringBuilder = 
    new StringBuilder(initialString, capacity);

注解

参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity ,则 StringBuilder 对象会分配额外的内存来存储这些字符。

如果 capacity 为零,则使用特定于实现的默认容量。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

StringBuilder(String, Int32, Int32, Int32)

Source:
StringBuilder.cs
Source:
StringBuilder.cs
Source:
StringBuilder.cs

从指定的子字符串和容量初始化 StringBuilder 类的新实例。

C#
public StringBuilder (string value, int startIndex, int length, int capacity);
C#
public StringBuilder (string? value, int startIndex, int length, int capacity);

参数

value
String

字符串包含用于初始化此实例值的子字符串。 如果 valuenull,则新的 StringBuilder 将包含空字符串(即包含 Empty)。

startIndex
Int32

value 中子字符串开始的位置。

length
Int32

子字符串中的字符数。

capacity
Int32

StringBuilder 的建议起始大小。

例外

capacity 小于零。

- 或 -

startIndexlength 不是 value 中的位置。

示例

以下示例演示如何使用指定的字符串调用 StringBuilder 构造函数。

C#
string initialString = "Initial string for stringbuilder.";
int startIndex = 0;
int substringLength = 14;
int capacity = 255;
StringBuilder stringBuilder = new StringBuilder(initialString, 
    startIndex, substringLength, capacity);

注解

参数 capacity 定义当前实例分配的内存中可以存储的最大字符数。 其值分配给 Capacity 属性。 如果当前实例中要存储的字符数超过此值 capacity ,则 StringBuilder 对象会分配额外的内存来存储这些字符。

如果 capacity 为零,则使用特定于实现的默认容量。

另请参阅

适用于

.NET 9 和其他版本
产品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0