可能重复:
filling a array with uniqe random numbers between 0-9 in c#
我有一个像“page [100]”这样的数组,我想在c#中用0-9之间的随机数填充它... 我怎么能这样做? 我用过:
IEnumerable<int> UniqueRandom(int minInclusive, int maxInclusive)
{
List<int> candidates = new List<int>();
for (int i = minInclusive; i <= maxInclusive; i++)
{
candidates.Add(i);
}
Random rnd = new Random();
while (candidates.Count > 1)
{
int index = rnd.Next(candidates.Count);
yield return candidates[index];
candidates.RemoveAt(index);
}
}
这样:
int[] page = UniqueRandom(0,9).Take(array size).ToArray();
但它只给了我9个独特的随机数,但我需要更多。 我怎么能有一个不完全相同的随机数的数组呢?
答案 0 :(得分:3)
怎么样
int[] page = new int[100];
Random rnd = new Random();
for (int i = 0; i < page.Length; ++i)
page[i] = rnd.Next(10);
答案 1 :(得分:1)
Random r = new Random(); //add some seed
int[] randNums = new int[100]; //100 is just an example
for (int i = 0; i < randNums.Length; i++)
randNums[i] = r.Next(10);
答案 2 :(得分:0)
你有一个包含100个数字的数组,并从10个不同的数据库中抽取。你怎么期望没有重复?
不要过分复杂化,只需写下需要编写的内容。即: