为什么这个vb数组用-1初始化?

时间:2016-02-25 19:25:42

标签: vb.net

我找到了以下代码行:

Public BUSHEL_TYPES As NameValuePair()
BUSHEL_TYPES = New NameValuePair(-1) {}

在括号中初始化带负数的数组是什么意思? 它似乎具有与以下相同的效果:

BUSHEL_TYPES = New NameValuePair() {}

但是我想在确定-1之前确定。如果没有必要,那么消极的人就会像我一样迷惑所有人。使用数字> = 0会导致数组包含元素;使用-2会导致错误

  

错误BC30611:数组尺寸的大小不能为负。

1 个答案:

答案 0 :(得分:0)

-1表示nullempty

  

尺寸长度

     

每个维度的索引都是从0开始的,这意味着   它的范围从0到其上限。因此,长度   给定维度比声明的上限大1   尺寸。   Link

上述意味着如果您将0放在那里length将为1。如果您-1length 0BUSHEL_TYPES = New NameValuePair(-1) {}

lenght 0

上面的代码初始化BUSHEL_TYPES = New NameValuePair(0) {}

的数组
lenght 1

上面的代码初始化BUSHEL_TYPES = New NameValuePair() {}

的数组
lenght 0

上面的代码初始化-1

的数组

您不需要Function RemoveLeadingZeroes(ByVal str) Dim tempStr tempStr = str While Left(tempStr,1) = "0" AND tempStr <> "" tempStr = Right(tempStr,Len(tempStr)-1) Wend RemoveLeadingZeroes = tempStr End Function strNewFileName = RemoveLeadingZeroes("0009283479283749823749872392384")