Arrays 如何制作基于1索引的数组

Arrays 如何制作基于1索引的数组,arrays,vb.net,excel,Arrays,Vb.net,Excel,这是一个简单的问题-如何在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 arraySt

这是一个简单的问题-如何在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

为什么不为基于0的索引填充一个空值呢?因为xlObject.Range(“myrange”)=VBNETObj需要一个基于1的对象。实际上,我可以复制以前从Excel读取的对象,它将是基于1的索引,但无法创建新的。我明白了……我将编写一个从System.Collections.CollectionBase继承的自定义类。我已经编辑了你的标题。请看“”,其中的共识是“不,他们不应该”。@J-MANMORGAN:请永远不要发布.NET 1.1链接,除非问题是关于.NET 1.1的。该文章中的所有链接也是.NET 1.1链接,因此读者可能会陷入.NET 1.1文章的迷宫中。当我复制并粘贴它时,代码在赋值语句上有错误。s/b.SetValue和。GetValue@dbasnett哪一行?