XmlWriter.WriteChars(Char[], Int32, Int32) メソッド

定義

派生クラスでオーバーライドされると、一度に 1 つのバッファーにテキストを書き込みます。

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です。

index または count が 0 未満です。

  • または - バッファー長から 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();
}

注釈

このメソッドを使用すると、一度に 1 つのバッファーに大量のテキストを書き込むことができます。

メソッドがサロゲート ペア文字を複数の WriteChars バッファー書き込みに分割しないように、特別な処理を行う必要があります。 XML 仕様では、サロゲート ペアの有効な範囲が定義されています。

このメソッドの非同期バージョンについては、次を参照してください WriteCharsAsync

適用対象