私は次のコードを書いています。FileInfoでのキーワードの使用
static void Main(string[] args)
{
FileInfo fiobj = new FileInfo(@"e:\mohan.txt");
Console.Write("Name of file:"+ fiobj.Name);
using(StreamWriter sw = fiobj.AppendText())
{
sw.WriteLine("mohan!");
}
}
// code not working
static void Main(string[] args)
{
FileInfo fiobj = new FileInfo(@"e:\mohan.txt");
Console.Write("Name of file:"+ fiobj.Name);
StreamWriter sw = fiobj.AppendText();
sw.WriteLine("mohan!");
}
私は「使用して(){}」私は、ファイルに書き込むことができていますブロックが、ときに私は、私はSoが操作を行うことができないのです(){}ブロックを使用せずに同じコードを書いたを使用します なぜそうですか? 私が知っている限り、(){}ブロックはオブジェクトの有効期間を指定します。 using(){}は、データをファイルに書き込むことを可能にするために、ここで何か面白いことをブロックしますか?
「私はそうすることができません」と定義してください。何が起こるのですか? 'using'はファイルを閉じる' Dispose() 'を呼び出しますが、* after *を何もしないので、ここでは目立つ違いはありません('使用する 'バージョンがより正確です。注) –
'using'ブロックなしではどんなエラーが出ますか?ファイルがまだアプリケーションの以前の実行からロックされている可能性はありますか(たとえば、最初に動作しますか?) – stevehipwell
@Marc彼が何度もプログラムを実行すると、プロセスの1つがロックされている可能性があります –