关于vb.net里定义数组并且初始化遇到小问题,请教!

ruan1978 2019-03-17 08:22:25
我在vb.net里需要用到数组,需要初始化某个对象结构。所以用数组。
这个对象结构的名字是Member,下面有三个属性:No,Name,Action.
我第一种初始化这个Member的数组方式是这样:
dim mem() as Member = New Member(4){}
mem(0).No=1
mem(0).Name="aaa"
mem(0).Action="do"

第二种初始化方式:
dim mem as Member()= New Member(){
New Member With
{
.No=1,
.Name="aaa",
.Action="do"
}
}
想问第二种初始化方式到底有什么不一样?????
...全文
576 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhonsonzhang 2019-04-18
  • 打赏
  • 举报
回复
2种方法都是错的。 如下
Dim mem = New List(Of member) From {New member With {.no = "1", .name= "aaa",.action="do"}}
ruan1978 2019-03-21
  • 打赏
  • 举报
回复
引用 6 楼 qianjiu 的回复:
[quote=引用 5 楼 ruan1978 的回复:] [quote=引用 4 楼 zj_zwl 的回复:] 第一种方法应该会出错吧,之前不用加一句? mem(0)=New Member
第一种不会出错,想用第二种方式来实现循环初始化可以吗?[/quote] 第二种把定义mum放到外面,然后在for循环里面 mem(i)=New Member With { .No=1, .Name="aaa", .Action="do" }[/quote] 能写的稍微详细点吗?
ruan1978 2019-03-20
  • 打赏
  • 举报
回复
引用 4 楼 zj_zwl 的回复:
第一种方法应该会出错吧,之前不用加一句? mem(0)=New Member
第一种不会出错,想用第二种方式来实现循环初始化可以吗?
zj_zwl 2019-03-20
  • 打赏
  • 举报
回复
第一种方法应该会出错吧,之前不用加一句? mem(0)=New Member
qianjiu 2019-03-20
  • 打赏
  • 举报
回复
引用 5 楼 ruan1978 的回复:
[quote=引用 4 楼 zj_zwl 的回复:] 第一种方法应该会出错吧,之前不用加一句? mem(0)=New Member
第一种不会出错,想用第二种方式来实现循环初始化可以吗?[/quote] 第二种把定义mum放到外面,然后在for循环里面 mem(i)=New Member With { .No=1, .Name="aaa", .Action="do" }
ruan1978 2019-03-19
  • 打赏
  • 举报
回复
引用 1 楼 自然有道 的回复:
首先你第一种定义了以结构为对象的数组上标为4(内含5个对象) 第二种,你只是定义了以结构为对象的数组上标为0(内含1个对象) 另外,第一种和第二种的区别在于,第一种是先声明再赋值,第二种是声明并赋值 我猜测第二种方法更接趋向于是原型写法,第一种只是方法的简化写法(估计的话),其码大家更接受并且经常使用是第一种
第二种方式如果有规律,循环给它初始化,请问怎么实现? dim mem as Member()= New Member(){ New Member With { .No=1, .Name="aaa", .Action="do" } } 是不是可以写成这样: for i= 1 to 3 dim mem as Member()= New Member(){ New Member With { .No=1, .Name="aaa", .Action="do" } } }
水哥阿乐 2019-03-17
  • 打赏
  • 举报
回复
首先你第一种定义了以结构为对象的数组上标为4(内含5个对象)
第二种,你只是定义了以结构为对象的数组上标为0(内含1个对象)
另外,第一种和第二种的区别在于,第一种是先声明再赋值,第二种是声明并赋值
我猜测第二种方法更接趋向于是原型写法,第一种只是方法的简化写法(估计的话),其码大家更接受并且经常使用是第一种
ruan1978 2019-03-17
  • 打赏
  • 举报
回复
引用 1 楼 自然有道 的回复:
首先你第一种定义了以结构为对象的数组上标为4(内含5个对象) 第二种,你只是定义了以结构为对象的数组上标为0(内含1个对象) 另外,第一种和第二种的区别在于,第一种是先声明再赋值,第二种是声明并赋值 我猜测第二种方法更接趋向于是原型写法,第一种只是方法的简化写法(估计的话),其码大家更接受并且经常使用是第一种
我实际接口里调用第一种方法,经常要出错!

16,554

社区成员

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

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