Ich habe einige Probleme mit meiner Programmlogik, die eine Sammlung von Daten in zwei separaten ListViews durchläuft. Nach dem Durchschleifen und Extrahieren der Daten aus der ListView füge ich dann alles in eine durch Komma getrennte Textdatei ein (CLOSEULDCONFIG.TXT).Fehlerhafte Daten aus ListView
Das erste Mal, dass ich diese Logik ausführen, funktioniert alles wie es sollte. Wenn ich diese Logik erneut ausführe, bekomme ich 2 Kopien von dem, was in der ListView ist. Jedes Mal, wenn ich diese Logik durchführe, wird die Anzahl der Kopien der zuvor hinzugefügten ListView-Elemente um 1 erhöht.
Dies ist unerwünscht, da ich die gleiche Anzahl von Elementen hinzufügen möchte, die ich in meinem ListView zu meinem habe Textdatei. Kann jemand herausfinden, was mit meinen verschachtelten foreach-Aussagen falsch ist, die das verursachen?
// 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);
}
}