C# 如何选择随机选项?
我有一个int数组,它应该如下所示:C# 如何选择随机选项?,c#,arrays,int,C#,Arrays,Int,我有一个int数组,它应该如下所示: 7 3 2 4 5 6 1 9 10 8 Values [1 2 3 4 5 6 7 8 9 10] Order In Array 此值应更改其顺序,并且每个值都是随机选项,例如: 如果选择第一个值为6,则选择蓝色,然后转到第二个值,如果值为4,则选择绿色 每个数字等于一种颜色 我一直在想我可以使用if条件,但我不知道是否有属性来检查值,因为如果我对每个选项都使用if条件,可能需要100多行代码!。 你知道我该如
7 3 2 4 5 6 1 9 10 8 Values
[1 2 3 4 5 6 7 8 9 10] Order In Array
此值应更改其顺序,并且每个值都是随机选项,例如:
如果选择第一个值为6,则选择蓝色,然后转到第二个值,如果值为4,则选择绿色
每个数字等于一种颜色
我一直在想我可以使用if条件,但我不知道是否有属性来检查值,因为如果我对每个选项都使用if条件,可能需要100多行代码!。
你知道我该如何改进它吗?你几乎可以用一行字来完成:
var rnd = new Random();
var orderedNumbers = new int[] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
var randomizedNumbers = orderedNumbers.OrderBy(c => rnd.Next()).ToArray();
看字典lookup@Kenny如果查找值是固定的,那么字典将是一个过度杀伤力,因为数组将完美地工作;是的,我几乎发布了这个解决方案,但只有当他的第一个数组是正则序列时它才有效,但如果有序数组是1、5、6、8、9、15等,它就不起作用了。我的答案在这两种情况下都有效,只要用你的数组替换我的OrderedNumber数组(有序与否,正则与否),它就会随机化