我不确定,如果这个问题很独特,但我找不到答案。
我想要一个很好的方法在C#中随机获取1到9之间的数字(包括9),我希望拥有所有9个数字。所以我需要一个在1到9之间返回9个数字的函数,我需要每个数字一次。
例如,结果如下所示: 4,3,2,6,9,7,1,5,8答案 0 :(得分:3)
我会这样做:
var rnd = new Random();
var numbers =
Enumerable
.Range(1, 9)
.OrderBy(x => rnd.Next())
.ToArray();
我得到的一个例子是:
答案 1 :(得分:0)
你走了:
public void Shuffle(List<int> list)
{
Random random = new Random();
for (int i = 0; i < list.Count; i++)
{
int k = random.Next(i + 1);
int val = list[k];
list[k] = list[i];
list[i] = val;
}
}
用法:
List<int> list = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
Shuffle(list);