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

本文关键字:随机数 填充 数组 之间 中用 | 更新日期: 2023-09-27 18:34:50

可能的重复项:
在 C# 中使用介于 0-9 之间的 UNIQE 随机数填充数组

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

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

怎么样

int[] page = new int[100];
Random rnd = new Random();
for (int i = 0; i < page.Length; ++i)
  page[i] = rnd.Next(10);
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);

你有一个包含 100 个数字的数组,并从 10 个不同的数字池中抽取。您如何期望没有重复项?

不要把事情复杂化,只要写下需要写的东西。 即:

  1. 创建阵列
  2. 循环它的大小
  3. 数组中放置一个介于 [0, 9] 之间的随机数。