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 维数组”。
请问应该如何进行正确的初始化呢 展开
错误 1 对于用显式界限声明的数组不允许进行显式初始化。
如果用<vbfixedarray(2)>public B( ) as A = new A的时候,提示如下:
类型“EERDUOSI.A”的值无法转换为“EERDUOSI.A的 1 维数组”。
请问应该如何进行正确的初始化呢 展开
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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询