VB.NET質問スレ(Part37)
■ このスレッドは過去ログ倉庫に格納されています
0340デフォルトの名無しさん
2011/11/15(火) 18:26:28.13試験的に、FormクラスのフィールドにDataTableを持たせて、
Button1で Me.ComboBox1.DataSource = DataTable として、
Button2で DataTable.Dispose() するのを作る。
Button1をクリックすると、ComboBox1にデータは表示される。
次に、Button2をクリックすると、ComboBox1のデータは消える。
この結果と、先に作ったプログラムの結果を比べてみると、
スコープを過ぎてもDataTableは自動的にDisposeされずに、
ちゃんとメモリの中に残り、動作しているということが分かる。
(逆に、スコープを終了する行で、Disposeを入れると、データは
消えてしまい表示されなかった。)
> オブジェクト自体はヒープと言うグローバル領域に生成されるから、
> スコープの概念が無いんだよ。
やっとこのあたりの概念が理解出来て来たと思います。
詳しい説明ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています