VS2022のC#のFileStreamに関する質問です。 Q1)『FileStream stream』の削除のコードをお教え頂けますと大変有難いです。

補足

Q2)Button8_Clickを2っ回実行しますと実行エラーになりますので、 『FileStream stream』の削除を考えました。 以上、宜しくお願いします。

C言語関連33閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

0

毎度お世話になります。 >encoder.Save(stream); の後に stream.Dispose(); を追加して、破棄してください。 <ーー了解です。 お陰で旨くいきました。 追加質問: newで作られたstreamは、button8_clickの終わりで、 C#の仕様として、自動的にDispose されると思っていましたがこの考えは間違えでしょうか? 以上、宜しくお願いします。 注)このソースはMSのサンプルでした。

ThanksImg質問者からのお礼コメント

お世話になります。 明快な回答有難う。 >Streamクラスはマネジメントリソースのため 関数を抜け参照されなくなると自動で削除されます。 ただし、削除のタイミングは関数を抜けた瞬間ではなく 一定期間後、GC(ガベージコレクション)によって 解放されることになります。 それまではハンドルを維持し続けます。 感謝!!! Dispose()を呼ぶことで、GCをまたずに即解放されるわけです。

お礼日時:5/19 20:45