随机数在程序里面经常会用到。以下提供一种快速生成不重复的随机数技巧,先顺序生成所要的所有随机数,然后随机索引取出,这样就不会重复了。

 public static void Main(string[] args)
{
List<int> array = new List<int>();
int range = 100;
for (int i = 0; i < range; i++)
{
array.Add(i);
}
var random = new Random();
for (int i = 0; i < range; i++)
{
var index = random.Next(0, array.Count);
var value = array[index];
array.RemoveAt(index);
Console.Write(value + " ");
}
}