vb.net中如何对结构数组进行new初始化

我定义了一个结构A,在A中重写了它的NEW函数。又声明了一个数组,publicB(2)asA=newA的时候提示:错误1对于用显式界限声明的数组不允许进行显式初始化。如果... 我定义了一个结构A,在A中重写了它的NEW函数。又声明了一个数组,public B(2) as A = new A的时候提示:
错误 1 对于用显式界限声明的数组不允许进行显式初始化。
如果用<vbfixedarray(2)>public B( ) as A = new A的时候,提示如下:
类型“EERDUOSI.A”的值无法转换为“EERDUOSI.A的 1 维数组”。
请问应该如何进行正确的初始化呢
展开
 我来答
sdsgSSY
2013-07-17 · 超过27用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:59.6万
展开全部
  • 首先你是怎么重写结构的Sub New的呢?不会有这个错误吗:“结构无法声明没有参数的非共享“Sub New”?

  • 结构是值类型,和类不一样,不一定要有构造函数。直接

     Dim B(2) As A
  • 如果有一个含参数的Sub New(i As Integer)

     Dim B() As A={New A(1), New A(2)}
  • 有时要初始化很多个的时候可以用循环       

    Dim c As Integer = 50

    Dim B(c) As A

    For i = 0 To c

        B(i) = New A(i)

    Next

不过这样是对变量重新赋值,这种方法用在类上比较好。

看看这个有帮助哦:http://msdn.microsoft.com/zh-cn/library/vstudio/2hkbth2a.aspx

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式