如何获得随机数

Jav*_*ram 0 .net c# random

我希望在1到100之间得到20个随机数,但这个数字不应重复....

更新: 如果我有20个名字,其中任意5个随机逐个选择,但名称来一次不再被调用.....

Guf*_*ffa 7

将数字放在列表中,然后从列表中选择:

List<int> numbers = Enumerable.Range(1, 100).ToList();

Random rnd = new Random();
List<int> picks = Enumerable.Range(1, 20).Select(n => {
  int index = rnd.Next(numbers.Count);
  int pick = numbers[index];
  numbers.RemoveAt(index);
  return pick;
});
Run Code Online (Sandbox Code Playgroud)

这可能是解决它的最简单方法,但它并不是最有效的方法.删除列表中的项目涉及移动以下项目.使用更多的代码可以避免这种移动,但是对于大多数用途来说代码已经足够好了.


dic*_*oce 5

我大约一年前问过这件事.

唯一随机数

我想,选定的答案很精彩.