0
2つの独立したListViewに存在するデータのコレクションをループするプログラムロジックに問題があります。ループした後、ListViewからデータを抽出した後、すべてをカンマ区切りのテキストファイル(CLOSEULDCONFIG.TXT)に追加します。ListViewから誤ったデータを取得しました
初めてこのロジックを実行すると、すべてが正常に動作します。このロジックをもう一度実行すると、ListViewにある2つのコピーが取得されます。このロジックを実行するたびに、以前に追加されたListViewアイテムのコピー数が1つ増えます。
これは、ListViewにあるものと同じ数の要素を追加する場合には望ましくありません。テキストファイル。誰かが私の入れ子にされたforeachステートメントでこれを引き起こしている間違っているものを見つけることができますか?
// HAZMAT PACKAGE ERROR LISTVIEW ITEMS
foreach (ListViewItem HazPackErrItems in HazmatPackageErrorListview.Items)
{
bool first = true;
foreach (ListViewItem.ListViewSubItem HazPackErrSub in HazPackErrItems.SubItems)
{
// removes the first element of each comma delimited string
if (first)
first = false;
else
CloseULDSubmitLogDataResponseHazpackerrCloseULDConfig += " " + HazPackErrSub.Text + ",";
}
}
// HAZMAT WEIGHT AND COUNT COLLECTED LISTVIEW ITEMS
foreach (ListViewItem HazWeightAndCountItems in HazmatWeightAndCountListview.Items)
{
bool first = true;
foreach (ListViewItem.ListViewSubItem HazWeightAndCountSub in HazWeightAndCountItems.SubItems)
{
// removes the first element of each comma delimited string
if (first)
first = false;
else
CloseULDSubmitLogDataResponseHazWeightAndCountCloseULDConfig += " " + HazWeightAndCountSub.Text + ",";
}
}
using (System.IO.StreamWriter sw = new System.IO.StreamWriter("CLOSEULDCONFIG.TXT", true))
{
if (!AlreadyExists)
{
sw.WriteLine(PresetNameConfig +
CloseULDSubmitLogDataRequestCloseULDConfig +
CloseULDSubmitLogDataResponseCloseULDConfig +
CloseULDSubmitLogDataResponseHazpackerrCloseULDConfig +
CloseULDSubmitLogDataResponseHazWeightAndCountCloseULDConfig +
CloseULDDateTimeConfig);
}
}