XmlWriter.WriteChars(Char[], Int32, Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
当在派生类中被重写时,以每次一个缓冲区的方式写入文本。
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
要写入的字符数。
例外
buffer
为 null
。
index
或 count
小于零。
- 或 -
缓冲区长度减去 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。