【问题标题】:VB.NET array = arrayVB.NET 数组 = 数组
【发布时间】:2013-01-14 23:36:14
【问题描述】:

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

Const Deck_Size = 52

Private Deck(Deck_Size), Table_Deck(Deck_Size) As String

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

Deck = 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”、...,但“Deck”也发生了变化...

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

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

【问题讨论】:

    标签: arrays vb.net


    【解决方案1】:

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

        Table_Deck.CopyTo(Deck, 0)
    

    【讨论】:

    • 谢谢!这就是我需要的!
    猜你喜欢
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-10
    相关资源
    最近更新 更多