如何比较两个列表框

本文关键字:两个 列表 比较 何比较 | 更新日期: 2023-09-27 17:50:05

我有两个列表框:Lbl和Lblr。它们都得到8个唯一的随机数。

现在我创建了一个方法来比较我选择的数字与其他列表框中的所有数字,如果它不在那里,则添加它,如果它已经在那里,则删除它。

 public void placer(int Z,ListBox box,ListBox boxxer)
    {
        if (boxxer.Items.Contains(Z))
        { box.Items.RemoveAt(box.SelectedIndex); }
        else
        {
            boxxer.Items.Add(Z);
            box.Items.RemoveAt(box.SelectedIndex);
        }
    }

现在我要做的第二步是比较一个列表框中的所有数字与另一个列表框中的所有数字。但是我想不出其他的方法,除了用数组来实现,我不认为这是最有效的方法。

帮助需要

如何比较两个列表框

您可以使用LINQ:

var boxItems = box.Items.OfType<int>();
var boxerItems = boxxer.Items.OfType<int>();
bool control = boxItems.OrderBy(x => x)
               .SequenceEqual(boxerItems.OrderBy(y => y));

假设你所有的项目都是数字,那么这将返回true如果两个listBox包含相同的数字忽略数字的顺序。如果您想要关心顺序,可以删除OrderBy方法。