从列表框添加到数组列表所选项目无法正常工作

本文关键字:列表 常工作 工作 项目 添加 数组 选项 | 更新日期: 2023-09-27 18:06:02

我有一个程序,我试图通过listbox将项目从一个arrayList移动到另一个,然后用XML打印出信息,但我遇到的错误是,当我添加信息时,通常会重复某些次,如果没有重复,则值会重复。

ArrayList list1 = new ArrayList();
ArrayList list2 = new ArrayList();
list1.Add(new RandomClass(var1, var2, var3, var4, var5, var6, var7));
foreach (object o in list1)
{
    RandomClass m = (RandomClass)o;
    selectionBox.Items.Add(m);
}

这是我的初始化代码。

bool req = true;
if (selectionBox.SelectedItem != null)
{
    Count++;
    errorLabel.Text = "";
    for (int i = 0; i < selectionBox.Items.Count; i++)
    {
        if (selectionBox.GetSelected(i) == true)
        {
            RandomClass m = selectionBox.SelectedItem as RandomClass;
            if (m.var2 == ((RandomClass)selectionBox.Items[i]).var2)
            {
                list2.Add(list1[i]);
            }
        }
    }
}
else
{
    errorLabel.Text = "Error";
}

这是我添加到另一个数组列表中的位置。然而,正如我经常说的那样,这个项目会重复,不会有什么不同,我该如何解决这个问题?

从列表框添加到数组列表所选项目无法正常工作

每次扫描并添加第一个列表中的项目时,请尝试清除第二个列表。

list2.Clear();
 for (int i = 0; i < selectionBox.Items.Count; i++)
....

我已经在类中使用列表解决了这个问题,似乎没有问题。

 List<RandomClass> list2 = new List<RandomClass>();

然后当添加时,我只是简单地在if语句中放入以下内容

 list2.Add(m);