問題は、変数を宣言し、メソッドの先頭でストリームを開くことです。
int i = 0;
int FailedToCopyImages = 0;
int NumberOfCopiedImages = 0;
int PreviouslyCopiedImages = 0;
TextWriter tw = new StreamWriter(pathToFile, true);
次に、try-catch-finally
ブロック内と `finally 部分でいくつかのことを行います :
finally
{
Console.WriteLine(i);
Console.WriteLine(NumberOfCopiedImages);
Console.WriteLine(PreviouslyCopiedImages);
Console.WriteLine(FailedToCopyImages);
tw.WriteLine(" ");
tw.WriteLine("All images: " + i +
" | Successfully copied: " + NumberOfCopiedImages +
" | Previously copied: " + PreviouslyCopiedImages +
" | Failed To Copy: " + FailedToCopyImages);
tw.WriteLine("--------------End Of Material Images-------------");
私はこれを 4 つの方法で行い、そこで正しい結果が得られます。ここでコンソールでは、変数が正しい値を保持していることがわかりますが、txt ファイルではゼロ (0) になります。