我想以某种方式“洗牌”Tuple<bool,int[]>[]
但我不需要准确地洗牌我想切换第一个位置与第二个位置相比切换第一个位置第三个是第一个应该与其他所有元组交换位置,而第二个应该这样做。我会尝试一些简单的数字来解释它像中了彩票:Tuple切换Tuple数组中的位置
我们已经1,2,3让我们假设这些都是我的3元组现在:
- 首先我们切换1与2,我们得到2,1,3;
- 第二我们切换1与3,我们得到2,3,1;
- 我们再次将2与1切换,得到1,3,2;
- 我们再次用3切换1,得到3,1,2;
- 最后我们切换1和2,我们得到3,2,1;
这就是我想要实现我的元组:
Tuple<bool, int[]>[] hodove =
{
new Tuple<bool, int[]>(Nadqsno(red, 1) && Napred(kolona, 2), new[]
{
count++,
novMinatRed = red + 1,
novaMinataKolona = kolona + 2
}),
new Tuple<bool, int[]>(Nadqsno(red, 2) && Napred(kolona, 1), new[]
{
count++,
novMinatRed = red + 2,
novaMinataKolona = kolona + 1
}),
new Tuple<bool, int[]>(Nalqvo(red, 1) && Napred(kolona, 2), new[]
{
count++,
novMinatRed = red - 1,
novaMinataKolona = kolona + 2
}),
new Tuple<bool, int[]>(Nalqvo(red, 2) && Napred(kolona, 1), new[]
{
count++,
novMinatRed = red - 2,
novaMinataKolona = kolona + 1
}),
new Tuple<bool, int[]>(Nadqsno(red, 2) && Nazad(kolona, 1), new[]
{
count++,
novMinatRed = red + 2,
novaMinataKolona = kolona - 1
}),
new Tuple<bool, int[]>(Nalqvo(red, 2) && Nazad(kolona, 1), new[]
{
count++,
novMinatRed = red - 2,
novaMinataKolona = kolona - 1
}),
new Tuple<bool, int[]>(Nadqsno(red, 1) && Nazad(kolona, 2), new[]
{
count++,
novMinatRed = red + 1,
novaMinataKolona = kolona - 2
}),
new Tuple<bool, int[]>(Nalqvo(red, 1) && Nazad(kolona, 2), new[]
{
count++,
novMinatRed = red - 1,
novaMinataKolona = kolona - 2
}),
};
你最终想要颠倒数组。那么为什么不简单地颠倒阵列呢?你已经在C#中有'Array.Reverse'函数。所以它只是一个行代码。或者我错过了什么? –
反过来如何帮助?它只是将数组向后排序。我现在看到它,我可能不够清楚,当我看它时,它实际上很杂乱。对不起,我不想只是拥有它3,2,1它可能已经结束像2,3,1我只是想数组中的每一个元组都可以与其他所有元组进行切换 – KOPEUE
所以你想使它成为随机序列? –