在.NET中,随机化数组的最佳方法可以使用Random
类。Random
类提供了多种生成随机数的方法,例如Next()
和Next(int maxValue)
等。
Next(int maxValue)
方法的目的是生成一个范围为0..maxValue-1
之间的随机整数。由于它的范围受限于0..maxValue-1
,因此这个范围内的随机数可能会重复。为了避免重复,可以使用Next(int maxValue, int count)
方法,其中count
指定要生成的随机数的数量。例如,以下代码片段演示了如何使用两种方法将count
个随机数添加到count
个空数组中:
int count = 5;
Random[] randoms = new Random[count];
for (int i = 0; i< count; i++)
{
int randomValue = randoms[i] = randoms[i] == null ?
GetRandomValue(max) : randoms[i].Next(max, max / (randoms.Length == 1 ? 1 : (randoms.Length-i)*count / (randoms.Length == 1 ? count : count - 1)));
Console.WriteLine(randomValue);
}
代码片段将count
个随机数添加到count
个空数组randoms
中。对于每个randoms
中的数组,我们首先检查是否为null,如果不等于null,则使用Next(int maxValue)
方法生成长度为maxValue
的随机数组。如果该数组为null,则直接生成一个范围为0..maxValue-1
的随机数。然后,我们从随机数数组中删除该随机数,然后再次遍历数组的元素进行随机选择。
在上面的代码段中,我们使用了GetRandomValue()
函数来获得一个范围的随机值。该函数接收一个整数参数,并返回一个随机取值的范围,其中随机化的范围是1%到100%。这种函数的使用可以使得随机数生成更加的多样化,使得生成的随机数更有代表性。
领取专属 10元无门槛券
手把手带您无忧上云