3

ドキュメントによると:

ストリームから読み取られた指定されたバイト数で内部バッファを満たします。

これはどういう意味ですか(内部バッファーとは何ですか?)?

4

3 に答える 3

0

にはBinaryReader内部バッファがあるため、特に先読みが必要な文字データを読み取る場合は、基になるストリームで小さな読み取りを実行する必要がありません。これを手動で呼び出す必要はありません。

于 2010-10-17T20:08:57.520 に答える
0

メソッドが保護されていると宣言されていることに注意してください。

そのため、 BinaryReaderから継承するクラスを作成する場合にのみ重要ですが、これを行う必要はほとんどありません。

于 2010-10-17T20:14:21.797 に答える
0

ここでの主な目的は、ローカルにデータのブロックがあることを確認するための便利な方法を使用できるようにすることです。たとえば、「double」を読み取る場合、(通常) 8 バイトが必要になります。このメソッドは次のようにまとめます。

  • 内部バッファがすでに十分にあるかどうかを確認する
  • 必要に応じて「読み取り」をループする
  • EOF のチェック (およびエラー)
  • オーバーランのガード
  • データを定期的に逆方向にブロックコピーするか、循環バッファーのさまざまなインデックスを処理するなどのバッファー管理の処理

ただし、小さな「byte[]」を読み取っていない限り、外部から呼び出す必要はないようです。

内部バッファに関しては; 簡単に、デシリアライズするとき:

  • 「読み取り」への呼び出しを最小限に抑えたい
  • 多くの場合、1 バイト以上先読みする必要があります (バッファーがないとトリッキーです)
  • 小さな 'byte[]' に対する操作が定期的に必要な場合 (たとえば、BitConverter を介して)

だからただ働く

于 2010-10-17T20:35:05.623 に答える