У меня возникают проблемы с моей программной логикой, которая пересекает коллекцию данных, которая существует в двух отдельных списках ListView. После циклизации и извлечения данных из ListView я затем добавляю все в текстовый файл с разделителями-запятыми (CLOSEULDCONFIG.TXT).Ошибочные данные, полученные из ListView
В первый раз, когда я выполняю эту логику, все работает так, как должно. Если я повторю эту логику, я получаю 2 копии того, что находится в ListView. Каждый раз, когда я просматриваю эту логику, количество копий ранее добавленных элементов 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);
}
}