【发布时间】:2021-12-01 03:05:45
【问题描述】:
有没有更好的方法来做到这一点?我不需要保留数组中的数据。
ReDim Test(4)
For i = 0 to Test.Count()-1
Test(i) = New MyObject
Next
【问题讨论】:
-
另一种选择是 GetUpperBound \ GetLowerBound 函数
标签: arrays vb.net initialization
有没有更好的方法来做到这一点?我不需要保留数组中的数据。
ReDim Test(4)
For i = 0 to Test.Count()-1
Test(i) = New MyObject
Next
【问题讨论】:
标签: arrays vb.net initialization
如果您按如下所示填充数组,则不需要ReDim。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Test1() As Integer
Test1 = {0, 1, 2, 3}
For Each i In Test1
Debug.Print(i.ToString)
Next
Dim Test2() As Coffee
'I have a Coffee class with a parameterized constructor
Test2 = {New Coffee("Folgers", 0), New Coffee("Pete's", 1), New Coffee("Tully's", 2), New Coffee("Green Mountain", 3)}
For Each c In Test2
Debug.Print(c.Name)
Next
End Sub
【讨论】:
我找到了我要找的东西
test = Enumerable.Repeat(New MyObject, 4)
编辑: 那不是我想要的,因为它只是创建了相同的对象。这就是我一直在寻找的。p>
test = Enumerable.Range(1,4).Select(Function(i) New MyObject()).ToArray
【讨论】: