いろいろメモ

usingステートメントの使い方

オブジェクトを開放するタイミングを指定できる。

using (StreamWriter file = new StreamWriter("DIO.txt")) 
{
 file.WriteLine("MudaMuda");
}

ブロックを抜けた段階で自動的にfileが開放される。いちいちfinally{}内でfile.Close()とかしないで済む。
Javaとかだとガベコレのタイミングは完全にVMの裁量に任された不可侵領域だけど、プログラマが指定できるのは便利だな。


アプリケーションの終了させかた

最初に

 frmMain.Dispose();

とかやって案の定コケタw

どうやら

 System.Windows.Forms.Application.Exit()

を使うのが正しいらしい。開いている全てのフォームをCloseしてからアプリケーションを終了させてくれる。

しかしこの関数、.NET Framework 2.0以前では開いているFormに対してCloseイベントを送ってくれないらしい。
既にある関数の仕様を大幅に変更するのは勘弁して欲しいもんだ。

 Environment.Exit(0);

だと強制終了になってしまうし。

文字列比較の仕方

C#ではC++JAVAと違って文字列型に==を使うと文字列の比較になる。
参照同士を比較したい場合は明示的にobject型にキャストしてやらないといけない