なぜusing

昨日UPしたGetPrivateProfileStringだけど、StreamReaderのインスタンンスを作るところからusingブロックになっている。なんでも、このusingブロックを使うと、usingブロック抜けたところでusingの対象だったオブジェクトの解放が走るっていう説明なんだけど(たしか)、そんなもん、マネージコードなら勝手にやってくれんじゃねーの? 関数内部で宣言してる変数だったら関数抜けたとき全部いつかはガベージされるのがマネージコードの利点だと思うんだけどな。うーん、usingだと、ガベージが強制されるのかな?→そうっぽい。

C# ガベージコレクション

明示的にリソースを開放できる。
コンパイラが、try-finallyパターンでアセンブリを生成し、finally の中でDisposeが呼ばれるため、明示的にDispose 文を書く必要が無く、スコープもはっきりしているので、Disposeに比べてきれい。

なるほど。しかし、URLに日本語がはいって%エンコードされていないと、自動リンクが腐るうーん、IE7はてな日記の組み合わせは、困るな。Firefox 3だとどうなんだろ。いれてみっか。→Firefox 3だと、ペーストするときちゃんと%エンコードされたURLを貼ってくれた。いいじゃないか。