我想以某種方式「洗牌」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
所以你想使它成爲隨機序列? –