TextWriter.Write 方法

定义

将数据写入文本流。

重载

Write(String, Object, Object, Object)

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

Write(Char[], Int32, Int32)

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

Write(String, ReadOnlySpan<Object>)

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

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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

使用与 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

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

例外

format null

出现 I/O 错误。

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

-或-

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

注解

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

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

格式项的语法如下所示:

{索引[,length][:formatString]}

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

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

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

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

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

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

另请参阅

适用于

Write(Char[], Int32, Int32)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

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

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

此重载相当于 index 和(index + count)之间 buffer 中每个字符的 Write(Char[]) 重载。

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

另请参阅

适用于

Write(String, ReadOnlySpan<Object>)

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

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

参数

format
String

复合格式字符串。

arg
ReadOnlySpan<Object>

一个对象范围,包含要格式化和写入的零个或多个对象。

适用于

Write(String, Object[])

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

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

格式项的语法如下所示:

{索引[,length][:formatString]}

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

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

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

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

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

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

另请参阅

适用于

Write(String, Object)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

使用与 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

要格式化和写入的对象。

例外

format null

出现 I/O 错误。

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

-或-

格式项的索引小于 0(零),或大于或等于要格式化的对象数(对于此方法重载,为 1)。

注解

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

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

格式项的语法如下所示:

{索引[,length][:formatString]}

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

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

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

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

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

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

另请参阅

适用于

Write(UInt64)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

重要

此 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

重要

此 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

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

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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将字符串写入文本流。

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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

使用与 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

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

例外

format null

出现 I/O 错误。

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

-或-

格式项的索引小于 0(零)或大于或等于要格式化的对象数(此方法重载的索引为 2)。

注解

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

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

格式项的语法如下所示:

{索引[,length][:formatString]}

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

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

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

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

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

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

另请参阅

适用于

Write(Object)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

通过对该对象调用 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将 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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

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

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[])

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将字符数组写入文本流。

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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将字符写入文本流。

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)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

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>)

Source:
TextWriter.cs
Source:
TextWriter.cs
Source:
TextWriter.cs

将字符范围写入文本流。

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 任务

适用于