我有一個關於將大量數組存儲到列表中的問題。將大量數組存儲到每個循環中的列表中
首先,我初始化數組和列表:
int[] arr = new int[9];
List<int[]> forkarr = new List<int[]>();
然後我通過for循環大量的運行和每次修改陣列以產生所有可能的井字變化。當循環遍歷所有這些變體時,如果陣列是可能的電路板,那麼我打印它,另外如果陣列滿足某些「分叉」條件,那麼我將它添加到列表中:
if (ForkCheck.fork(arr)) { forkarr.Add(arr); Console.WriteLine("It's a Fork!");}
這也打印該消息,讓你知道特定的數組是叉。
現在,當我打印所有的數組時,那些叉子被正確打印並標記爲這樣。
然而,當我去打印出所有我的列表forkarr的INT []的元素,像這樣的:
foreach (int[] arry in forkarr)
{
PrintGame.print(arry);//this is my method that prints the array
Console.WriteLine();
}
出於某種原因每個陣列變爲一個相同的:
222
222
222
(我使用2作爲'X'和1作爲'O'和0作爲'空'btw)
而且它只是反覆打印出所有的叉。
因此,當我將數組的每個修改都添加爲列表中的新元素時,出現了一些問題,我想,但我不知道爲什麼。
感謝您的任何幫助。
非常感謝!我覺得這很簡單 – Schweeb