System.IO.File.Delete
以外のオプションは、特別なフラグを付けてファイルを開くことです。ファイルがまだ別のプログラム(またはあなたのコードが使用していますが、希望しないようにしてください)にまだFileShare.Delete
権限が与えられていない場合は、が失敗します。
例:あなたは、ファイルへのハンドルを保持するため、他のプログラムを期待している場合、ファイルは、削除されることを保証がすべき
using(var fs = new FileStream(pathToFile, FileMode.Open,
FileAccess.Read, FileShare.None,
1024, FileOptions.DeleteOnClose))
{
// do stuff here
}
// file *may* be deleted here if there are no other
// handles to the file, otherwise it will be deleted
// when all other handles to it are closed, or on
// system restart
。そうでない場合は、単にFile.Delete
を使用する方が簡単です。