这是一个简单的问题-如何在VB.NET中创建索引从1开始的对象数组?

我需要这样的对象才能将范围写回Excel电子表格,并且它仅接受基于1的索引。

当我从Excel读取范围时,它会在VB.NET中自动创建一个基于1的对象,但是当我尝试创建另一个对象时,它不允许我将lBound设置为1。

最佳答案

您可以使用Array.CreateInstance实现所需的功能。

    ' create an array of 10 items with lower bound index of 1
    Dim arrayStartingWith1 As Array = Array.CreateInstance(GetType(Integer), New Integer(0) {10}, New Integer(0) {1})

    ' this is now incorrect
    ' arrayStartingWith1(0) = 1

    ' this is correct
    arrayStartingWith1(1) = 1
    arrayStartingWith1(10) = 1

09-04 11:59