TextWriter.Write 方法

定义

将数据写入文本流。

重载

Write(String, Object, Object, Object)

使用与 Format(String, Object, Object, Object) 方法相同的语义将格式化字符串写入文本流。

Write(Char[], Int32, Int32)

将字符的子数组写入文本流。

Write(String, Object[])

使用与 Format(String, Object[]) 方法相同的语义将格式化字符串写入文本流。

Write(String, Object)

使用与 Format(String, Object) 方法相同的语义将格式化字符串写入文本流。

Write(UInt64)

将 8 字节无符号整数的文本表示形式写入文本流。

Write(UInt32)

将 4 字节无符号整数的文本表示形式写入文本流。

Write(StringBuilder)

将字符串生成器写入文本流。

Write(String)

将字符串写入文本流。

Write(Single)

将 4 字节浮点值的文本表示形式写入文本流。

Write(String, Object, Object)

使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串写入文本流。

Write(Object)

通过在对象上调用 ToString 方法将此对象的文本表示形式写入文本流。

Write(Int64)

将 8 字节带符号整数的文本表示形式写入文本流。

Write(Int32)

将 4 字节带符号整数的文本表示形式写入文本流。

Write(Double)

将 8 字节浮点值的文本表示形式写入文本流。

Write(Decimal)

将小数值的文本表示形式写入文本流。

Write(Char[])

将字符数组写入文本流。

Write(Char)

将字符写入文本流。

Write(Boolean)

Boolean 值的文本表示形式写入文本流。

Write(ReadOnlySpan<Char>)

将字符范围写入文本流。

Write(String, Object, Object, Object)

使用与 Format(String, Object, Object, Object) 方法相同的语义将格式化字符串写入文本流。

public:
 virtual void Write(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1, System::Object ^ arg2);
public virtual void Write (string format, object arg0, object arg1, object arg2);
public virtual void Write (string format, object? arg0, object? arg1, object? arg2);
abstract member Write : string * obj * obj * obj -> unit
override this.Write : string * obj * obj * obj -> unit
Public Overridable Sub Write (format As String, arg0 As Object, arg1 As Object, arg2 As Object)

参数

format
String

复合格式字符串。

arg0
Object

要格式化和写入的第一个对象。

arg1
Object

要格式化和写入的第二个对象。

arg2
Object

要设置格式和写入的第三个对象。

例外

formatnull

出现 I/O 错误。

format 不是有效的复合格式字符串。

- 或 -

格式项的索引小于 0 (0)、或大于或等于要设置格式的对象数 (用于该方法重载,为三)。

注解

此方法使用复合格式将对象的值转换为其字符串表示形式,并在字符串中嵌入该表示形式。 .NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:

参数 format 包含与零个或多个索引占位符(称为格式项)混合的零个或多个文本运行,这些占位符对应于此方法的参数列表中的对象。 格式设置过程将每个格式项替换为相应对象的值的字符串表示形式。

格式项的语法如下所示:

{index[,length][:formatString]}

括号中的元素是可选的。 下表对每个元素进行了描述。 有关复合格式设置功能(包括格式项的语法)的详细信息,请参阅 复合格式设置。

元素 说明
索引 要设置格式的对象的参数列表中从零开始的位置。 如果 index 指定的对象为 null,则格式项将 String.Empty替换为 。 由于此重载的参数列表中有三个对象, 因此 index 的值必须始终为 0、1 或 2。 如果 索引 位置中没有参数, FormatException 则会引发 。
length 参数的字符串表示形式的最小字符数。 如果为正值,则参数右对齐;如果为负数,则为左对齐。
formatString 要设置格式的对象支持的标准或自定义格式字符串。 formatString 的可能值与 对象的 ToString(string format) 方法支持的值相同。 如果未指定 formatString,并且要设置格式的对象实现 IFormattable 接口,null则将 作为用作IFormattable.ToString格式字符串的参数format的值传递。

前导和尾随大括号字符“{”和“}”是必需的。 若要在 中 format指定单个文本大括号字符,请指定两个前导或尾随大括号字符,即“{{”或“}}”。

此方法不会在指定的字符串中搜索 (十六进制0x000a) 的各个换行符,并将其 TextWriter.NewLine替换为 。

如果未在格式字符串中引用指定的对象,则忽略该对象。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Char[], Int32, Int32)

将字符的子数组写入文本流。

public:
 virtual void Write(cli::array <char> ^ buffer, int index, int count);
public virtual void Write (char[] buffer, int index, int count);
abstract member Write : char[] * int * int -> unit
override this.Write : char[] * int * int -> unit
Public Overridable Sub Write (buffer As Char(), index As Integer, count As Integer)

参数

buffer
Char[]

要从中写出数据的字符数组。

index
Int32

在开始接收数据时缓存中的字符位置。

count
Int32

要写入的字符数。

例外

缓冲区长度减去 index 小于 count

buffer 参数为 null

indexcount 为负数。

出现 I/O 错误。

注解

此方法将从位置 index开始的字符数组将数据buffer的字符写入count到此TextWriter中。

此重载等效于 Write(Char[]) 和 ( + indexcount) 之间的index每个字符buffer的重载。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(String, Object[])

使用与 Format(String, Object[]) 方法相同的语义将格式化字符串写入文本流。

public:
 virtual void Write(System::String ^ format, ... cli::array <System::Object ^> ^ arg);
public virtual void Write (string format, params object[] arg);
public virtual void Write (string format, params object?[] arg);
abstract member Write : string * obj[] -> unit
override this.Write : string * obj[] -> unit
Public Overridable Sub Write (format As String, ParamArray arg As Object())

参数

format
String

复合格式字符串。

arg
Object[]

一个对象数组,其中包含零个或多个要设置格式和写入的对象。

例外

formatargnull

出现 I/O 错误。

format 不是有效的复合格式字符串。

- 或 -

格式项的索引小于 0(零),或者大于或等于 arg 数组的长度。

注解

此方法使用复合格式将对象的值转换为其字符串表示形式,并在字符串中嵌入该表示形式。 .NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:

参数 format 包含与零个或多个索引占位符(称为格式项)混合的零个或多个文本运行,这些占位符对应于此方法的参数列表中的对象。 格式设置过程将每个格式项替换为相应对象的值的字符串表示形式。

格式项的语法如下所示:

{index[,length][:formatString]}

括号中的元素是可选的。 下表对每个元素进行了描述。 有关复合格式设置功能(包括格式项的语法)的详细信息,请参阅 复合格式设置。

元素 说明
索引 要格式化的对象参数列表中的从零开始的位置。 如果 index 指定的对象为 null,则格式项将替换为 String.Empty。 由于此重载的参数列表中有一个数组, 因此索引 的值必须始终小于数组的长度。 如果 索引 位置中没有参数, FormatException 则会引发 。
length 参数的字符串表示形式中的最小字符数。 如果为正值,则参数为右对齐;如果为负值,则为左对齐。
formatString 要格式化的对象支持的标准或自定义格式字符串。 formatString 的可能值与 对象的 ToString(string format) 方法支持的值相同。 如果未指定 formatString 并且要格式化的对象实现 IFormattable 接口,null则将作为用作IFormattable.ToString格式字符串的参数format的值传递。

前大括号和尾随大括号字符“{”和“}”是必需的。 若要在 中 format指定单个文本大括号字符,请指定两个前导大括号或尾随大括号字符,即“{{”或“}}”。

此方法不会在指定字符串中搜索 (十六进制0x000a) 的单个换行符,并将其 TextWriter.NewLine替换为 。

如果未在格式字符串中引用指定对象,则忽略它。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(String, Object)

使用与 Format(String, Object) 方法相同的语义将格式化字符串写入文本流。

public:
 virtual void Write(System::String ^ format, System::Object ^ arg0);
public virtual void Write (string format, object arg0);
public virtual void Write (string format, object? arg0);
abstract member Write : string * obj -> unit
override this.Write : string * obj -> unit
Public Overridable Sub Write (format As String, arg0 As Object)

参数

format
String

复合格式字符串。

arg0
Object

要格式化和写入的对象。

例外

formatnull

出现 I/O 错误。

format 不是有效的复合格式字符串。

- 或 -

格式项的索引小于 0 (0)、或大于或等于要设置格式的对象数 (用于该方法重载,为一)。

注解

此方法使用复合格式将对象的值转换为其字符串表示形式,并在字符串中嵌入该表示形式。 .NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:

参数 format 包含与零个或多个索引占位符(称为格式项)混合的零个或多个文本运行,这些占位符对应于此方法的参数列表中的对象。 格式设置过程将每个格式项替换为相应对象的值的字符串表示形式。

格式项的语法如下所示:

{index[,length][:formatString]}

括号中的元素是可选的。 下表对每个元素进行了描述。 有关复合格式设置功能(包括格式项的语法)的详细信息,请参阅 复合格式设置。

元素 说明
索引 要格式化的对象参数列表中的从零开始的位置。 如果 index 指定的对象为 null,则格式项将替换为 String.Empty。 由于此重载的参数列表中只有一个对象, 因此 index 的值必须始终为 0。 如果 索引 位置中没有参数, FormatException 则会引发 。
length 参数的字符串表示形式中的最小字符数。 如果为正值,则参数为右对齐;如果为负值,则为左对齐。
formatString 要格式化的对象支持的标准或自定义格式字符串。 formatString 的可能值与 对象的 ToString(string format) 方法支持的值相同。 如果未指定 formatString 并且要格式化的对象实现 IFormattable 接口,null则将作为用作IFormattable.ToString格式字符串的参数format的值传递。

前大括号和尾随大括号字符“{”和“}”是必需的。 若要在 中 format指定单个文本大括号字符,请指定两个前导大括号或尾随大括号字符,即“{{”或“}}”。

此方法不会在指定字符串中搜索 (十六进制0x000a) 的单个换行符,并将其 TextWriter.NewLine替换为 。

如果未在格式字符串中引用指定对象,则忽略它。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(UInt64)

重要

此 API 不符合 CLS。

将 8 字节无符号整数的文本表示形式写入文本流。

public:
 virtual void Write(System::UInt64 value);
[System.CLSCompliant(false)]
public virtual void Write (ulong value);
[<System.CLSCompliant(false)>]
abstract member Write : uint64 -> unit
override this.Write : uint64 -> unit
Public Overridable Sub Write (value As ULong)

参数

value
UInt64

要写入的 8 字节无符号整数。

属性

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 UInt64.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(UInt32)

重要

此 API 不符合 CLS。

将 4 字节无符号整数的文本表示形式写入文本流。

public:
 virtual void Write(System::UInt32 value);
[System.CLSCompliant(false)]
public virtual void Write (uint value);
[<System.CLSCompliant(false)>]
abstract member Write : uint32 -> unit
override this.Write : uint32 -> unit
Public Overridable Sub Write (value As UInteger)

参数

value
UInt32

要写入的 4 字节无符号整数。

属性

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 UInt32.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(StringBuilder)

将字符串生成器写入文本流。

public:
 virtual void Write(System::Text::StringBuilder ^ value);
public virtual void Write (System.Text.StringBuilder? value);
abstract member Write : System.Text.StringBuilder -> unit
override this.Write : System.Text.StringBuilder -> unit
Public Overridable Sub Write (value As StringBuilder)

参数

value
StringBuilder

要作为字符串生成器写入文本流的字符串。

注解

此方法等效于 Write(stringBuilder.ToString()),但它使用 StringBuilder.GetChunks 方法来避免创建中间字符串。

适用于

Write(String)

将字符串写入文本流。

public:
 virtual void Write(System::String ^ value);
public virtual void Write (string value);
public virtual void Write (string? value);
abstract member Write : string -> unit
override this.Write : string -> unit
Public Overridable Sub Write (value As String)

参数

value
String

要写入的字符串。

例外

出现 I/O 错误。

注解

此重载等效于 Write(Char[]) 重载。

此方法不会在指定字符串中搜索 (十六进制0x000a) 的单个换行符,并将其 TextWriter.NewLine替换为 。

如果 valuenull,则不会将任何内容写入文本流。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Single)

将 4 字节浮点值的文本表示形式写入文本流。

public:
 virtual void Write(float value);
public virtual void Write (float value);
abstract member Write : single -> unit
override this.Write : single -> unit
Public Overridable Sub Write (value As Single)

参数

value
Single

要写入的 4 字节浮点值。

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 Single.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(String, Object, Object)

使用与 Format(String, Object, Object) 方法相同的语义将格式化字符串写入文本流。

public:
 virtual void Write(System::String ^ format, System::Object ^ arg0, System::Object ^ arg1);
public virtual void Write (string format, object arg0, object arg1);
public virtual void Write (string format, object? arg0, object? arg1);
abstract member Write : string * obj * obj -> unit
override this.Write : string * obj * obj -> unit
Public Overridable Sub Write (format As String, arg0 As Object, arg1 As Object)

参数

format
String

复合格式字符串。

arg0
Object

要格式化和写入的第一个对象。

arg1
Object

要格式化和写入的第二个对象。

例外

formatnull

出现 I/O 错误。

format 不是有效的复合格式字符串。

- 或 -

格式项的索引小于 0 (0) 或大于或等于要设置格式的对象数 (用于该方法重载,为二)。

注解

此方法使用复合格式将对象的值转换为其字符串表示形式,并在字符串中嵌入该表示形式。 .NET 提供广泛的格式设置支持,以下格式设置主题对此进行了更详细的介绍:

参数 format 包含与零个或多个索引占位符(称为格式项)混合的零个或多个文本运行,这些占位符对应于此方法的参数列表中的对象。 格式设置过程将每个格式项替换为相应对象的值的字符串表示形式。

格式项的语法如下所示:

{index[,length][:formatString]}

括号中的元素是可选的。 下表对每个元素进行了描述。 有关复合格式设置功能(包括格式项的语法)的详细信息,请参阅 复合格式设置。

元素 说明
索引 要格式化的对象参数列表中的从零开始的位置。 如果 index 指定的对象为 null,则格式项将替换为 String.Empty。 由于此重载的参数列表中有两个对象, 因此 index 的值必须始终为 0 或 1。 如果 索引 位置中没有参数, FormatException 则会引发 。
length 参数的字符串表示形式中的最小字符数。 如果为正值,则参数为右对齐;如果为负值,则为左对齐。
formatString 要格式化的对象支持的标准或自定义格式字符串。 formatString 的可能值与 对象的 ToString(string format) 方法支持的值相同。 如果未指定 formatString 并且要格式化的对象实现 IFormattable 接口,null则将作为用作IFormattable.ToString格式字符串的参数format的值传递。

前大括号和尾随大括号字符“{”和“}”是必需的。 若要在 中 format指定单个文本大括号字符,请指定两个前导大括号或尾随大括号字符,即“{{”或“}}”。

此方法不会在指定字符串中搜索 (十六进制0x000a) 的单个换行符,并将其 TextWriter.NewLine替换为 。

如果未在格式字符串中引用指定对象,则忽略它。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Object)

通过在对象上调用 ToString 方法将此对象的文本表示形式写入文本流。

public:
 virtual void Write(System::Object ^ value);
public virtual void Write (object value);
public virtual void Write (object? value);
abstract member Write : obj -> unit
override this.Write : obj -> unit
Public Overridable Sub Write (value As Object)

参数

value
Object

要写入的对象。

例外

出现 I/O 错误。

注解

此重载等效于 Write(String) 重载。

如果指定的对象为 null,则不执行任何操作,也不引发异常。 否则,将调用 对象的 ToString 方法以生成字符串表示形式,然后将生成的字符串写入输出流。 属性 FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Int64)

将 8 字节带符号整数的文本表示形式写入文本流。

public:
 virtual void Write(long value);
public virtual void Write (long value);
abstract member Write : int64 -> unit
override this.Write : int64 -> unit
Public Overridable Sub Write (value As Long)

参数

value
Int64

要写入的 8 字节有符号整数。

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 Int64.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

如何:将文本写入文件

另请参阅

适用于

Write(Int32)

将 4 字节带符号整数的文本表示形式写入文本流。

public:
 virtual void Write(int value);
public virtual void Write (int value);
abstract member Write : int -> unit
override this.Write : int -> unit
Public Overridable Sub Write (value As Integer)

参数

value
Int32

要写入的 4 字节有符号整数。

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 Int32.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Double)

将 8 字节浮点值的文本表示形式写入文本流。

public:
 virtual void Write(double value);
public virtual void Write (double value);
abstract member Write : double -> unit
override this.Write : double -> unit
Public Overridable Sub Write (value As Double)

参数

value
Double

要写入的 8 字节浮点值。

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 Double.ToString 方法生成的。 属性 TextWriter.FormatProvider (如果不是 null),则指定区域性特定的格式。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Decimal)

将小数值的文本表示形式写入文本流。

public:
 virtual void Write(System::Decimal value);
public virtual void Write (decimal value);
abstract member Write : decimal -> unit
override this.Write : decimal -> unit
Public Overridable Sub Write (value As Decimal)

参数

value
Decimal

要写入的十进制值。

例外

出现 I/O 错误。

注解

属性 FormatProvider (如果不是 null),则指定区域性特定的格式。

另请参阅

适用于

Write(Char[])

将字符数组写入文本流。

public:
 virtual void Write(cli::array <char> ^ buffer);
public virtual void Write (char[] buffer);
public virtual void Write (char[]? buffer);
abstract member Write : char[] -> unit
override this.Write : char[] -> unit
Public Overridable Sub Write (buffer As Char())

参数

buffer
Char[]

要写入文本流中的字符数组。

例外

出现 I/O 错误。

注解

此方法不会在指定字符串中搜索 (十六进制0x000a) 的单个换行符,并将其 NewLine替换为 。

此默认方法调用 Write(Char[], Int32, Int32) 方法并传递整个字符数组。 如果字符数组为 null,则不写入任何内容。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Char)

将字符写入文本流。

public:
 abstract void Write(char value);
public:
 virtual void Write(char value);
public abstract void Write (char value);
public virtual void Write (char value);
abstract member Write : char -> unit
abstract member Write : char -> unit
override this.Write : char -> unit
Public MustOverride Sub Write (value As Char)
Public Overridable Sub Write (value As Char)

参数

value
Char

要写入文本流中的字符。

例外

出现 I/O 错误。

注解

此默认方法不执行任何工作,但派生类可以重写 方法以提供适当的功能。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(Boolean)

Boolean 值的文本表示形式写入文本流。

public:
 virtual void Write(bool value);
public virtual void Write (bool value);
abstract member Write : bool -> unit
override this.Write : bool -> unit
Public Overridable Sub Write (value As Boolean)

参数

value
Boolean

要写入的 Boolean 值。

例外

出现 I/O 错误。

注解

指定值的文本表示形式是通过调用 Boolean.ToString 方法生成的。

此方法输出 Boolean.TrueStringBoolean.FalseString

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

另请参阅

适用于

Write(ReadOnlySpan<Char>)

将字符范围写入文本流。

public:
 virtual void Write(ReadOnlySpan<char> buffer);
public virtual void Write (ReadOnlySpan<char> buffer);
abstract member Write : ReadOnlySpan<char> -> unit
override this.Write : ReadOnlySpan<char> -> unit
Public Overridable Sub Write (buffer As ReadOnlySpan(Of Char))

参数

buffer
ReadOnlySpan<Char>

要写入的字符范围。

注解

指定值的文本表示形式是通过调用 ReadOnlySpan<Char> 生成的。ToString 方法。

有关常见 I/O 任务的列表,请参阅 常见 I/O 任务

适用于