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

我定义了一个结构A,在A中重写了它的NEW函数。又声明了一个数组,public B(2) as A = new A的时候提示:
错误 1 对于用显式界限声明的数组不允许进行显式初始化。
如果用<vbfixedarray(2)>public B( ) as A = new A的时候,提示如下:
类型“EERDUOSI.A”的值无法转换为“EERDUOSI.A的 1 维数组”。
请问应该如何进行正确的初始化呢

    首先你是怎么重写结构的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

温馨提示:答案为网友推荐,仅供参考