XmlWriter.WriteChars(Char[], Int32, Int32) Método

Definição

Quando substituído em uma classe derivada, grava texto um buffer por vez.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)

Parâmetros

buffer
Char[]

Uma matriz de caracteres que contém o texto a ser gravado.Character array containing the text to write.

index
Int32

A posição do buffer que indica o início do texto a ser gravado.The position in the buffer indicating the start of the text to write.

count
Int32

O número de caracteres a serem gravados.The number of characters to write.

Exceções

buffer é null.buffer is null.

index ou count é menor que zero.index or count is less than zero.

- ou --or- O tamanho do buffer menos index é menor que count; a chamada resulta em caracteres do par alternativo sendo divididos ou na gravação de um par alternativo inválido.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.

O valor do parâmetro buffer não é válido.The buffer parameter value is not valid.

Um método XmlWriter foi chamado antes do término de uma operação assíncrona anterior.An XmlWriter method was called before a previous asynchronous operation finished. Nesse caso, InvalidOperationException será gerado com a mensagem “Uma operação assíncrona já está em andamento”.In this case, InvalidOperationException is thrown with the message "An asynchronous operation is already in progress."

Exemplos

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();
}

Comentários

Esse método pode ser usado para gravar grandes quantidades de texto em um buffer por vez.This method can be used to write large amounts of text one buffer at a time.

O tratamento especial deve ser feito para garantir que o WriteChars método não divida os caracteres de pares substitutos entre várias gravações de buffer.Special handling must be done to ensure the WriteChars method does not split surrogate pair characters across multiple buffer writes. A especificação XML define os intervalos válidos para pares substitutos.The XML specification defines the valid ranges for surrogate pairs.

Para obter a versão assíncrona desse método, consulte WriteCharsAsync .For the asynchronous version of this method, see WriteCharsAsync.

Aplica-se a