请你给我答案如何生成没有相同数字的数字? 因为我正在创建一个彩票计划,并且我希望我的程序没有相同的数字,因为彩票没有具有相同数字的输出。
答案 0 :(得分:1)
我相信你想要做的是使用Set专门的集合。选择Set中剩余的随机项,然后将其从集中删除。选择另一个。
答案 1 :(得分:0)
小心多线程和随机初始化。
static Random r = new Random();
static IEnumerable<int> Randoms(int max)
{
while(true)
yield return r.Next(max);
}
用法:
var items = Randoms(50).Distinct().Take(10).ToArray();
答案 2 :(得分:0)
您现在需要将它放在递归方法中,但这是一种简单的方法。
using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
numbers.Add(4);
numbers.Add(5);
numbers.Add(6);
numbers.Add(7);
Random rand = new Random();
var numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
numbersSfle = numbers.OrderBy(item => rand.Next()).ToList();
Console.Write(numbersSfle[0].ToString());
numbers.RemoveAt(0);
}
}
小提琴: