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を参照してください。

適用対象