XmlWriter.WriteChars(Char[], Int32, Int32) 方法
定义
当在派生类中被重写时,以每次一个缓冲区的方式写入文本。When overridden in a derived class, writes text one buffer at a time.
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[]
包含要写入的文本的字符数组。Character array containing the text to write.
- index
- Int32
缓冲区中指示要写入文本的起始位置的位置。The position in the buffer indicating the start of the text to write.
- count
- Int32
要写入的字符数。The number of characters to write.
例外
buffer 为 null。buffer is null.
index 或 count 小于零。index or count is less than zero.
- 或 --or-
缓冲区长度减去 index 小于 count;此调用导致代理项对字符被拆分或写入无效的代理项对。The buffer length minus index is less than count; the call results in surrogate pair characters being split or an invalid surrogate pair being written.
buffer 参数值无效。The buffer parameter value is not valid.
在上一次异步操作完成之前调用了 XmlWriter 方法。An XmlWriter method was called before a previous asynchronous operation finished. 在此情况下,会引发 InvalidOperationException 并显示消息“异步操作已在进行中。”In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."
示例
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();
}
注解
此方法可用于一次写入一个缓冲区的大量文本。This method can be used to write large amounts of text one buffer at a time.
必须执行特殊处理才能确保方法不 WriteChars 会跨多个缓冲区写入拆分代理项对字符。Special handling must be done to ensure the WriteChars method does not split surrogate pair characters across multiple buffer writes. XML 规范定义代理项对的有效范围。The XML specification defines the valid ranges for surrogate pairs.
有关此方法的异步版本,请参阅 WriteCharsAsync 。For the asynchronous version of this method, see WriteCharsAsync.