XmlWriter.WriteChars(Char[], Int32, Int32) 方法

定义

当在派生类中被重写时,以每次一个缓冲区的方式写入文本。

public:
 abstract void WriteChars(cli::array <char> ^ buffer, int index, int count);
public abstract void WriteChars (char[] buffer, int index, int count);
abstract member WriteChars : char[] * int * int -> unit
Public MustOverride Sub WriteChars (buffer As Char(), index As Integer, count As Integer)

参数

buffer
Char[]

包含要写入的文本的字符数组。

index
Int32

缓冲区中指示要写入文本的起始位置的位置。

count
Int32

要写入的字符数。

例外

buffernull

indexcount 小于零。

- 或 -

缓冲区长度减去 index 小于 count;此调用导致代理项对字符被拆分或写入无效的代理项对。

buffer 参数值无效。

在上一次异步操作完成之前调用了 XmlWriter 方法。 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”

示例

using (XmlWriter writer = XmlWriter.Create("WriteChars.xml"))
{
    writer.WriteStartDocument();

    char[] ch = new char[4];
    ch[0] = 't';
    ch[1] = 'e';
    ch[2] = 'x';
    ch[3] = 't';

    writer.WriteStartElement("WriteCharacters");
    writer.WriteChars(ch, 0, ch.Length);
    writer.WriteEndElement();
    writer.WriteEndDocument();
}

注解

此方法可用于一次一个缓冲区写入大量文本。

必须执行特殊处理,以确保 WriteChars 方法不会跨多个缓冲区写入拆分代理项对字符。 XML 规范定义了代理项对的有效范围。

有关此方法的异步版本,请参阅 WriteCharsAsync

适用于