【发布时间】:2012-05-27 08:39:44
【问题描述】:
如何在 C# 中生成不重复的随机数。我有一个数组,我想用 0 到 9 的随机数填充每个房间。每个房间应该有不同的数字。我用这个:
for (int i = 0; i < 20; i++)
{
Random rnd = new Random();
int temp = 0;
temp = rnd.Next(0, 9);
page[i] = temp;
}
但我在每个房间的数组中得到相同的数字。
【问题讨论】:
-
"我只想知道如何在 c# 中生成不重复的随机数?" - 这不可能。假设一个随机数重复,否则它实际上不是一个随机数生成器,而是一个唯一值生成器,它很容易编码。您的代码也存在缺陷,因为您将始终拥有相同的种子值。
-
你说的是房间但有一个页面数组!?您的意思是数组页面中的每个条目都应该是唯一的吗?我理解你是否正确,你希望页面中有 20 位数字,所有数字都是不同的?