|
分類:[.NET 全般]
こんにちは。 以前質問して、とても分かりやすく解説していただきました。また質問させていただきます。
VB.NETでStreamクラスを利用してテキストの読み書きを行えるクラスを作っています。
テキストを非同期で読み込むメソッド(BeginRead)があったので利用してみました。読み込み自体はできました。
ただこのBeginReadって、ストリームのデータ(この表現はあってるのかな?)がバイト配列に格納されるのですが、そうすると、実際にデータを扱うためには、ストリーム⇒バイト配列⇒データ操作という順番になって、バイト配列部分のプロセスが非常に無駄な気がしてしようがないです。バイト配列に格納せず、ストリームのデータを非同期で直接取得する方法はないでしょうか?この場合の非同期はマルチスレッドじゃなくて、コールバックを使った方法が良いです(BeginReadでやりたいのです)。
例えばStreamクラスのReadメソッドなんかは、中身がどうなっているのかわからないですが(VS2008を入れれば分かるのかな・・・)、バイト配列にデータを入れないで、ストリームのデータを直接取得しているのではないでしょうか?
上のような方法に限定される環境にあるわけではなく、こういうことってできるのかな?と思い質問させていただきました。
よろしくお願いします。
|