2010-10-14 62 views
0

我有一个数组变量(字符串类型)。它包含一定的否。的项目,我不知道他们有多少。 我需要为许多号码运行一个循环。该数组包含。我尝试了LBound和UBound循环,但它说我的数组不是系统数组。 我如何知道我的数组包含多少项?数组变量中的项目总数

感谢 Furqan

回答

5

你可以使用数组对象的Length财产。

MSDN(Array.Length性):

获取一个32位整数,它表示元素的在阵列的所有维度的总数。

阅读关于arrays in VB.NETArray类以更好地理解VB.NET和.NET框架中的数组。


更新:

然而,对于遍历数组,你只需要使用一个For Each环路(作为一个数组就像.NET任何其他集合处理) - 这样一来,就不会犯与数组边界和关闭任何愚蠢的错误通过的:

For Each item As arrayItemType in MyArray 
    ' do stuff with item 
Next 

参见this页的例子。

1

你看看长度

要在第一时间拿到维的项目数:arrayName.GetLength(0)

如果您需要的索引,使用GetUpperBound(0)

一些有用的例子here

0

如果编译器告诉你你的变量不是一个系统数组,那么很有可能它不是一个数组。如果它不是一个数组,你将无法通过任何方式获得它的边界。

检查本地窗口中的变量并验证您的变量是您认为是的类型。毕竟它可能不是一个数组。

1

就像Oded说的那样,你可以使用数组的长度 - 索引。这将是这个样子:

Dim data As String() = {"one", "two", "three", "four"} 

    For i = 0 To data.Length - 1 

     Console.WriteLine(data(i)) 

    Next 

如果你只是想你的循环阵列中的所有字符串,您可以使用每个以及:

For Each s As String In data 

     Console.WriteLine(s) 

    Next 
+1

+1提示'对于Each' – Oded 2010-10-14 18:47:09