【问题标题】:Initialize Array after ReDimReDim 后初始化数组
【发布时间】:2021-12-01 03:05:45
【问题描述】:

有没有更好的方法来做到这一点?我不需要保留数组中的数据。

ReDim Test(4)
For i = 0 to Test.Count()-1
    Test(i) = New MyObject
Next

【问题讨论】:

标签: arrays vb.net initialization


【解决方案1】:

如果您按如下所示填充数组,则不需要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

【讨论】:

    【解决方案2】:

    我找到了我要找的东西

    test = Enumerable.Repeat(New MyObject, 4)
    

    编辑: 那不是我想要的,因为它只是创建了相同的对象。这就是我一直在寻找的。​​p>

    test = Enumerable.Range(1,4).Select(Function(i) New MyObject()).ToArray
    

    【讨论】:

      猜你喜欢
      • 2016-04-03
      • 2013-12-01
      • 2020-10-24
      • 1970-01-01
      • 2017-08-01
      • 2019-12-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多