抽奖数组列表验证
本文关键字:验证 列表 数组 | 更新日期: 2023-09-27 18:18:38
我正在制作一个抽奖c#程序,其中随机抽取1-10个数字并将其放在ArrayList
上,如果数字已经绘制,那么它不应该放在数组中…我的问题是,即使我验证它,它仍然添加到数组。
Console.WriteLine("RAFFLES");
ArrayList array = new ArrayList();
Random rnd = new Random();
ret: Console.Write("Press 1 to draw");
int draw = int.Parse(Console.ReadLine());
switch(draw)
{
case 0: break;
case 1:
if (array.Contains(rnd.Next(1, 11)))
{
Console.WriteLine("Already Exist");
}
else
array.Add(rnd.Next(1, 11));
goto ret;
case 2:
foreach (var a in array)
Console.WriteLine(a);
break;
}
您应该将第一个rnd.Next(1, 11)
存储在一个变量中:
int x = rnd.Next(1, 11);
if (array.Contains(x))
{
Console.WriteLine("Already Exist");
}
else
array.Add(x);
您没有存储
的结果rnd.Next(1, 11)
因此,当它到达else语句时,它再次运行rand .next()以绕过检查获得一个新数字。
应该是:
case 1:
int rndNumber = rnd.Next(1,11);
if (array.Contains(rndNumber))
{
Console.WriteLine("Already Exist");
}
else
array.Add(rndNumber);