Array.GetLowerBound(int)的目的是什么?

Che*_*eso 14 .net arrays

我不明白Array.GetLowerBound()的目的.

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

谢谢.

Ree*_*sey 17

从理论上讲,您可以创建具有索引的任何下限或上限的数组.VB.NET可以使用它来生成下限为1的数组,以便与一些较旧的VB版本兼容,但你实际上可以使用Array.CreateInstance(Type,Int32 [],Int32 [])来创建一个数组任何你想要的下限.


Con*_*lls 7

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

这也适用于通过COM互操作公开的数组.例如,许多Excel API使用基于1的数组,而许多API函数使用变量数组作为参数(该变体基本上被发明为电子表格单元的数据类型).

使用COM互操作时,您仍然必须很好地使用这些API和类型系统.它们最初设计用于VBA,而'经典'VB4-6语言变体由于与COM的紧密耦合而具有真正的巴洛克式系统.C#等的.Net类型系统.人.比基于COM的前辈有点痛苦,但是在使用COM互操作时你仍然会感到痛苦.

  • 拼错'拼错';) (9认同)
  • 不,我的意思是"巴洛克式的怪物",而不是"如果它不是巴洛克式,不要修理它".; - } (6认同)
  • 你拼错了.:) (2认同)