【发布时间】:2016-02-05 06:47:32
【问题描述】:
我试图在 0 到 100 之间获取 X 个随机数(其中 X 是一个变量),并将它们添加到 DataGridView 中的一行。我正在使用下面的代码,但问题是我需要不可能有两次相同的数字。有没有办法确保我得到唯一的随机数?
int X = 20;
Random random = new Random();
int randomrow = random.Next(0, 100);
for (int i = 0; i < X; i++)
{
int randomNumber = random.Next(0, 100);
data.Rows[randomrow][3] = randomNumber;
}
感谢您的帮助!
【问题讨论】:
-
使用 List
来保存你的随机值。当您生成一个新的时,检查它是否存在于该列表中,如果存在则生成一个新的,然后将它们全部添加到 DataGridView -
您想让
randomrow独一无二吗?还是randomNumber? -
如果你想要一个真正的随机值,你需要使用
Random类以外的东西。Randomis only psuedo-random。为了生成真实的,你可以使用类似RNGCryptoServiceProvider的东西。 -
为什么 randomrow 永远不会改变?您正在更新同一行 x 次。