在c#中填充0-9之间随机数的数组

时间:2012-05-22 06:31:27

标签: c#

  

可能重复:
  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个独特的随机数,但我需要更多。 我怎么能有一个不完全相同的随机数的数组呢?

3 个答案:

答案 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个不同的数据库中抽取。你怎么期望没有重复?

不要过分复杂化,只需写下需要编写的内容。即:

  1. 创建数组
  2. 超过它的大小
  3. 在数组中的[0,9]之间放一个随机数。