プログラムに車のトランクの販売のリストを追加し、チャリティーなどのためかどうかを指定できるプログラムがあります。チャリティー向けの車のブーツの販売とそうでないもののリストを生成するボタンもあります。別のテキスト ファイルに。チャリティー ブーツの販売をアプリケーションに追加してリストを生成すると、ファイルに正常に書き込まれます。ただし、アプリケーションを再度ロードしてファイルを生成しようとすると、空のリストが生成されます。(終了時にアプリケーションデータを保存し、起動時にデータをリロードする機能があります)。
なぜこれが起こっているのかわかりませんか??
ファイルへのリストを生成するためのボタンの背後にあるコードは次のとおりです。
List<CarBootSale> carbootsales = carBootSaleList.ReturnList();
carbootsales.Sort(delegate(CarBootSale bs1, CarBootSale bs2)
{
return Comparer<string>.Default.Compare(bs1.ID, bs2.ID);
});
textReportGenerator.GenerateCharityReport(carbootsales, AppData.CHARITY);
MessageBox.Show("All the Charity Car Boot Sales have been written to the report file: " + AppData.CHARITY);
レポートを生成する TextReportGenerator クラスのコードは次のとおりです。
FileStream outFile;
StreamWriter writer;
//create the file and write to it
outFile = new FileStream(filePath, FileMode.Create, FileAccess.Write);
writer = new StreamWriter(outFile);
//For each object in the list, add it to the file
foreach (CarBootSale obj in CharityList)
{
if (obj.Charity == "true")
{
writer.WriteLine(obj.Display());
}
}
//close the file which has been opened
writer.Close();
outFile.Close();