如果我有一个包含某些值的数组。如何每次获得不同的随机数 - 表示索引 - 从数组中获取不同的值?
答案 0 :(得分:0)
生成所需范围的序列,并随机排序。然后,将值放入堆栈并从该堆栈中选取。例如:
var rnd = new Random();
var randomValues = new Stack<int>(Enumerable.Range(0,5).OrderBy(x => rnd.Next()));
var randomIndex1 = randomValues.Pop();
var randomIndex2 = randomValues.Pop();