基本上,我的程序会生成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);
}
}
最佳答案
您可以使用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;