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.

Применяется к