代码之家  ›  专栏  ›  技术社区  ›  Cheeso

array.getLowerBound(int)的用途是什么?

  •  14
  • Cheeso  · 技术社区  · 15 年前

    我不明白 Array.GetLowerBound() .

    它是否返回非零?什么时候?怎么用?

    谢谢。

    3 回复  |  直到 13 年前
        1
  •  7
  •   ConcernedOfTunbridgeWells    15 年前

    在VB中的多维数组或各种COM派生的API上,可以按维度查询下限。数组类型可以基于0或1(即从0或1开始),这也适用于多维数组。

    这也可以应用于通过COM互操作公开的数组。例如,许多ExcelAPI使用基于1的数组,许多API函数使用变量数组作为参数(变量本质上是作为电子表格单元的数据类型而发明的)。

    在使用COM互操作时,您仍然必须很好地使用这些API和类型系统。它们最初设计用于vba,而“经典”vb4-6语言变体由于与com紧密耦合而具有真正的巴洛克式系统。C等人的.NET类型系统。与基于COM的前代相比,它们的痛苦要小一些,但是在使用COM互操作时,您仍然会感到痛苦。

        2
  •  16
  •   Reed Copsey    15 年前

    理论上,可以创建具有任何下界或上界的数组进行索引。vb.net可以使用它生成下限为1的数组,以便与一些旧的vb版本兼容,但实际上可以使用 Array.CreateInstance(Type,Int32[],Int32[]) 创建一个具有任意下界的数组。

        3
  •  4
  •   John Kugelman Michael Hodel    15 年前

    有一个 CreateInstance 设置非零下限的调用:

    CreateInstance(Type, Int32[], Int32[])
    创建具有指定类型和维度长度、具有指定下限的多维数组。

    将此项与:

    CreateInstance(Type, Int32[])
    创建具有指定类型和维度长度的多维数组,并使用基于零的索引。维度长度是在32位整数数组中指定的。

    (或者其他过载,事实上。在六 方法 重载,五个创建一个基于零的数组。)