基本上,我的程序会生成1,2或3的随机数,并循环9次。我想知道如何从ListView中删除​​重复的数字,因此它只包含1 2 3。

可以使用IEnumerable.Except完成吗?

private void button3_Click(object sender, EventArgs e)
{
     Random rand = new Random();
     for (int i = 1; i < 10; i++)
     {
          lbl_Numb_1.Text = rand.Next(1, 4).ToString();
          ListViewItem lvi = new ListViewItem(lbl_Numb_1.Text);

          listView3.Items.Add(lvi);
     }
}


c# - 在C#中的列表 View 中删除相同的数字-LMLPHP

最佳答案

您可以使用HashSet存储号码。

或使用LINQ和distinct删除重复的值,如下所示:

var values = Enumerable.Range(0, 9).OrderBy(x => rng.Next(1, 4)).Distinct();
foreach (var value in values)
{
   ListViewItem lvi = new ListViewItem(value);
   listView3.Items.Add(lvi);
}


如果要使用第二种变体,请不要忘记添加名称空间:

using System.Linq;

08-18 16:59