Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何选择随机选项?_C#_Arrays_Int - Fatal编程技术网

C# 如何选择随机选项?

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多行代码!。 你知道我该如

我有一个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多行代码!。
你知道我该如何改进它吗?

你几乎可以用一行字来完成:

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数组(有序与否,正则与否),它就会随机化