繁体   English   中英

我如何在 VB 中的结构中声明一个结构数组?

[英]how i can declare a array of structure in a structure in VB?

我有一个结构 A,它包含 2 个整数、1 个字符串和另一个结构 B 的 1 个数组。

在一个函数中,我想初始化结构 B 数组的大小,但 Microsoft Visual Basic 不想接受我所做的所有尝试。

结构 A

    Structure XpGrpData
        Dim Mode As Integer
        Dim XpValue As Integer
        Dim Name As String
        Dim player As XpUsrData()
    End Structure

结构 B

    Structure XpUsrData
        Dim Mode As Integer
        Dim XpValue As Integer
        Dim Name As String
    End Structure

我平时是怎么做的

Dim CurrentXpData As XpGrpData
CurrentXpData.player = New XpGrpData(myValue)

但是我的 IDE 显示“'Public Sub New()' 的参数太多”。 如何设置数组的大小?

正如您现在拥有的那样,实例化我将使用的结构:

Dim CurrentXpData as XpGrpData = New XpGrpData()

将参数传递给构造函数时,它期望您已经定义了要对参数执行的操作。 例如,在结构/类中,您将添加一个 New() 子例程:

public sub New(myInput)
    me.someProperty = myInput
end sub

如前所述,除非您特别需要结构,否则您可能需要考虑使用类。 它们以不同的方式处理内存,并且类通常是有利的

这种模式帮助我解决了尴尬的语法错误:

Dim temp(myValue) As XpGrpData
CurrentXpData.player = temp

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM