ようこそゲストさん

Kerosoft : Modus Operandi

2009/01/24(Sat) C#でFile.Deleteするときの注意

はてブ情報 はてブに登録 はてブ数 2009/01/24 16:35 Languages::C#
例えば、Bitmapオブジェクトに画像ファイルを読み込んだ後、そのファイルを削除したいというとき、単純に
Bitmap bmp = new Bitmap(filename);
File.Delete(filename);
と書くとIOExceptionが発生する。
これを回避するには…

一旦別のBitmapにつくってコピーすればよい。
Bitmap bmp;
using(Bitmap tmp = new Bitmap(filename)){
    bmp = new Bitmap(tmp);
}
File.Delete(filename);
大したことないTipsだが、ちょっとハマったのでエントリを書いた。
Bitmapに限らず他の場合でも起こりうるかもしれない。
同じ手法でなんとかなるんじゃないのかな?
参考になった記事や興味深かった記事は、他の人も見つけやすいようにリンクはてブしていただけると助かります…。 コメントも歓迎です。

名前:  非公開コメント   

  • TB-URL  http://mo.kerosoft.com/094/tb/