在C#中,我有一個MenuItem數組。我試圖用下面的代碼來交換在索引2和陣列的索引3兩個對象沒有成功:交換數組中的對象 - C#
MenuItem Temp = Items[2];
Items[2] = Items[3];
Items[3] = Temp;
必須有爲什麼在第二和第三線不工作在C#的理由,其我可能還不明白。有人能夠澄清一點嗎?我是否必須更深入地交換對象中的每個屬性?
已編輯 - 對不起。看起來像我試圖清理它發佈時弄亂了代碼。現在更正。
實際的代碼是:
MenuItem TempButton = MenuItems.Items[SelectedButton.CountId];
MenuItems.Items[SelectedButton.CountId] = MenuItems.Items[SelectedButton.CountId + 1];
MenuItems.Items[SelectedButton.CountId + 1] = TempButton;
MenuItems.Items
是MenuItem
數組放眼觀看我已經放在MenuItems.Items,什麼都不會發生在2線或3
MenuItems.Items
屬性具有獲取和設置功能,這可能會導致問題...將進一步調查...
你的代碼沒有意義。你似乎將'Temp'和'Items [2]'分配給對方,沒有任何交換。 – BoltClock 2010-09-01 03:18:24
在第二行代碼中引用'MenuItems.Items []',但在其他地方引用'Items []'有什麼原因嗎?和第二行中的SelectedButton.CountID,但其他地方的幻數? – 2010-09-01 03:19:23
我想我確切地知道這裏發生了什麼。看到我的答案。 – 2010-09-01 05:03:54