1

我正在尝试创建一个程序,在其中我将数组分配给数组。它们是这样声明的:

Const Deck_Size = 52

Private Deck(Deck_Size), Table_Deck(Deck_Size) 作为字符串

所以,在我的程序中,我写了这一行:

甲板 = Table_Deck

这是做什么的,我如何从我得到的结果中理解,“Table_Deck”指针已分配给“Deck”。例如

Table_Deck = "As","Ks","Qs","Js",...

甲板=“2h”,“3h”,“4h”,“5h”,...

在此代码行之后:Deck = Table_Deck,我有这个:

Table_Deck = "As","Ks","Qs","Js",...

甲板 = "As","Ks","Qs","Js",...

问题来了。

当下一个代码行完成时(即:Table_Deck(1) = Table_Deck(4)),我得到这个结果:Table_Deck = "Js","Ks","Qs","Js",...,但是以及“甲板”也发生了变化......

甲板 = "Js","Ks","Qs","Js",...

所以,我认为这是指针错误。如果我只想更改一个数组中的元素,谁能告诉我如何解决这个问题。

4

1 回答 1

4

对,您的分配更改了数组引用。之后,Deck 和 Table_Deck 都引用了完全相同的数组。因此,您对 Deck 内容所做的任何更改也将通过 Table_Deck 引用可见。您必须改为复制内容:

    Table_Deck.CopyTo(Deck, 0)
于 2013-01-31T00:06:19.567 回答