vb.net结构体中的数组定义问题

rabiboy 2013-07-09 09:45:35
我定义了一个结构体如下:
Structure calculate

Dim shaftname As String
Dim shaftlength As Single
Dim shaftoutdiam As Single
Dim shaftindiam As Single
Dim shaftouter(,) As Single
End Structure
其中用红色字体标出来的是我想要定义的一个数组,这个数组是一个二维的,数组两个维度的大小是在后续计算中获得的。比如,知道了这个数组大小为3*5的。
原来在结构体中定义时是只定义了二维的,那么接下来我如何把这个数组的大小赋给这个数组?

补充说明:因为这个数组的大小是由一个表格的值决定的,我的主要目标是把表格中的数存储在这个数组里,存储的方法是遍历复制,存储复制的代码如下:
For i = 0 To 2
For j = 0 To DataGridView.ColumnCount - 1
calculate.shaftouter(i, j) = DataGridView.Rows(i).Cells(j).Value
Next
Next
我在这样赋值时出错说是数组的大小没有定义。因此才问上述问题中如何将数组的尺寸赋予之前在结构体中建立的数组。
...全文
528 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzmylover 2013-07-12
  • 打赏
  • 举报
回复
dim 为定义一个变量 redim为重新定义这个变量,redim一般用于对数组的重新定义。重新定义后会丢失所有数据 ReDim 语句 在过程级中声明动态数组变量并分配或重新分配存储空间。
红衣老大 2013-07-10
  • 打赏
  • 举报
回复
Dim = 定义 ReDim = re定义 英语大字典 Re 就是 重新的意思 例如 ReBUild 嘿嘿
rabiboy 2013-07-10
  • 打赏
  • 举报
回复
引用 1 楼 wuyazhe 的回复:
Dim c As New calculate ReDim c.shaftouter(3, 4)
我试了一下是可以的,麻烦再问一下这个为什么还要redim一下,因为之前没用过redim这个功能
rabiboy 2013-07-10
  • 打赏
  • 举报
回复
引用 3 楼 xiaobingking 的回复:
Dim = 定义 ReDim = re定义 英语大字典 Re 就是 重新的意思 例如 ReBUild 嘿嘿
这个重定义是会和先前的定义冲突么,这两个以谁为准?
兔子-顾问 2013-07-09
  • 打赏
  • 举报
回复
Dim c As New calculate ReDim c.shaftouter(3, 4)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧