String 构造函数

定义

初始化 String 类的新实例。

重载

String(Char*)

String 类的新实例初始化为指向 Unicode 字符数组的指定指针指示的值。

String(Char[])

String 类的新实例初始化为指定字符数组中指示的 Unicode 字符。

String(ReadOnlySpan<Char>)

String 类的新实例初始化为指定只读范围中指示的 Unicode 字符。

String(SByte*)

String 类的新实例初始化为指向 8 位带符号整数数组的指针指示的值。

String(Char, Int32)

String 类的新实例初始化为指定的 Unicode 字符重复指定的次数所指示的值。

String(Char*, Int32, Int32)

String 类的新实例初始化为指向 Unicode 字符数组的指定指针、该数组中的起始字符位置以及长度的值。

String(Char[], Int32, Int32)

String 类的新实例初始化为 Unicode 字符数组、该数组中的起始字符位置和长度指示的值。

String(SByte*, Int32, Int32)

String 类的新实例初始化为指定指针指示的值,该值指向 8 位有符号整数的数组、该数组中的起始位置以及长度。

String(SByte*, Int32, Int32, Encoding)

String 类的新实例初始化为由指定指针指示的值,该数组中具有 8 位有符号整数的数组、该数组中的起始位置、长度和 Encoding 对象。

注解

有关此 API 的详细信息,请参阅字符串构造函数补充 API 备注。

String(Char*)

Source:
String.cs
Source:
String.cs
Source:
String.cs

重要

此 API 不符合 CLS。

String 类的新实例初始化为指向 Unicode 字符数组的指定指针指示的值。

C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public String (char* value);
C#
[System.CLSCompliant(false)]
public String (char* value);

参数

value
Char*

指向以 null 结尾的 Unicode 字符数组的指针。

属性

例外

当前进程对所有寻址字符没有读取访问权限。

value 指定包含无效 Unicode 字符的数组,或者 value 指定小于 64000 的地址。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.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

String(Char[])

Source:
String.cs
Source:
String.cs
Source:
String.cs

String 类的新实例初始化为指定字符数组中指示的 Unicode 字符。

C#
public String (char[] value);
C#
public String (char[]? value);

参数

value
Char[]

Unicode 字符数组。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.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

String(ReadOnlySpan<Char>)

Source:
String.cs
Source:
String.cs
Source:
String.cs

String 类的新实例初始化为指定只读范围中指示的 Unicode 字符。

C#
public String (ReadOnlySpan<char> value);

参数

value
ReadOnlySpan<Char>

Unicode 字符的只读范围。

适用于

.NET 9 和其他版本
产品 版本
.NET Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Standard 2.1

String(SByte*)

Source:
String.cs
Source:
String.cs
Source:
String.cs

重要

此 API 不符合 CLS。

String 类的新实例初始化为指向 8 位带符号整数数组的指针指示的值。

C#
[System.CLSCompliant(false)]
public String (sbyte* value);
C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public String (sbyte* value);

参数

value
SByte*

指向以 null 结尾的 8 位带符号整数数组的指针。 整数使用 Windows 上的当前系统代码页编码(称为CP_ACP)和非 Windows 上的 UTF-8 编码进行解释。

属性

例外

value null

不能使用 value初始化 String 的新实例,假设 value 在 ANSI 中编码。

要初始化的新字符串的长度(由 value的 null 终止字符确定)太大而无法分配。

value 指定无效地址。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.NET 9 和其他版本
产品 版本
.NET 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 2.0, 2.1

String(Char, Int32)

Source:
String.cs
Source:
String.cs
Source:
String.cs

String 类的新实例初始化为指定的 Unicode 字符重复指定的次数所指示的值。

C#
public String (char c, int count);

参数

c
Char

Unicode 字符。

count
Int32

发生 c 的次数。

例外

count 小于零。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.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

String(Char*, Int32, Int32)

Source:
String.cs
Source:
String.cs
Source:
String.cs

重要

此 API 不符合 CLS。

String 类的新实例初始化为指向 Unicode 字符数组的指定指针、该数组中的起始字符位置以及长度的值。

C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public String (char* value, int startIndex, int length);
C#
[System.CLSCompliant(false)]
public String (char* value, int startIndex, int length);

参数

value
Char*

指向 Unicode 字符数组的指针。

startIndex
Int32

value内的起始位置。

length
Int32

要使用的 value 中的字符数。

属性

例外

startIndexlength 小于零,value + startIndex 导致指针溢出,或者当前进程没有对所有寻址字符的读取访问权限。

value 指定包含无效 Unicode 字符的数组,或者 value + startIndex 指定小于 64000 的地址。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.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

String(Char[], Int32, Int32)

Source:
String.cs
Source:
String.cs
Source:
String.cs

String 类的新实例初始化为 Unicode 字符数组、该数组中的起始字符位置和长度指示的值。

C#
public String (char[] value, int startIndex, int length);

参数

value
Char[]

Unicode 字符数组。

startIndex
Int32

value内的起始位置。

length
Int32

要使用的 value 中的字符数。

例外

value null

startIndexlength 小于零。

-或-

startIndexlength 的总和大于 value中的元素数。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.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

String(SByte*, Int32, Int32)

Source:
String.cs
Source:
String.cs
Source:
String.cs

重要

此 API 不符合 CLS。

String 类的新实例初始化为指定指针指示的值,该值指向 8 位有符号整数的数组、该数组中的起始位置以及长度。

C#
[System.CLSCompliant(false)]
public String (sbyte* value, int startIndex, int length);
C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public String (sbyte* value, int startIndex, int length);

参数

value
SByte*

指向 8 位带符号整数数组的指针。 整数使用 Windows 上的当前系统代码页编码(称为CP_ACP)和非 Windows 上的 UTF-8 编码进行解释。

startIndex
Int32

value内的起始位置。

length
Int32

要使用的 value 中的字符数。

属性

例外

value null

startIndexlength 小于零。

-或-

value + startIndex 指定的地址对于当前平台来说太大;即地址计算溢出。

-或-

要初始化的新字符串的长度太大,无法分配。

value + startIndex 指定的地址小于 64K。

-或-

不能使用 value初始化 String 的新实例,假设 value 在 ANSI 中编码。

valuestartIndexlength 共同指定无效地址。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.NET 9 和其他版本
产品 版本
.NET 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 2.0, 2.1

String(SByte*, Int32, Int32, Encoding)

Source:
String.cs
Source:
String.cs
Source:
String.cs

重要

此 API 不符合 CLS。

String 类的新实例初始化为由指定指针指示的值,该数组中具有 8 位有符号整数的数组、该数组中的起始位置、长度和 Encoding 对象。

C#
[System.CLSCompliant(false)]
public String (sbyte* value, int startIndex, int length, System.Text.Encoding enc);
C#
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public String (sbyte* value, int startIndex, int length, System.Text.Encoding enc);

参数

value
SByte*

指向 8 位带符号整数数组的指针。

startIndex
Int32

value内的起始位置。

length
Int32

要使用的 value 中的字符数。

enc
Encoding

一个对象,指定如何对 value 引用的数组进行编码。 如果 encnull,则假定 ANSI 编码。

属性

例外

value null

startIndexlength 小于零。

-或-

value + startIndex 指定的地址对于当前平台来说太大;即地址计算溢出。

-或-

要初始化的新字符串的长度太大,无法分配。

value + startIndex 指定的地址小于 64K。

-或-

无法使用 value初始化 String 的新实例,假设 value 编码为 enc指定的。

valuestartIndexlength 共同指定无效地址。

注解

备注

有关此构造函数重载和其他 String 构造函数重载的示例和全面的用法信息,请参阅 String 构造函数摘要。

适用于

.NET 9 和其他版本
产品 版本
.NET 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 2.0, 2.1