我有一个数组变量(字符串类型)。它包含一定的否。的项目,我不知道他们有多少。 我需要为许多号码运行一个循环。该数组包含。我尝试了LBound和UBound循环,但它说我的数组不是系统数组。 我如何知道我的数组包含多少项?数组变量中的项目总数
感谢 Furqan
我有一个数组变量(字符串类型)。它包含一定的否。的项目,我不知道他们有多少。 我需要为许多号码运行一个循环。该数组包含。我尝试了LBound和UBound循环,但它说我的数组不是系统数组。 我如何知道我的数组包含多少项?数组变量中的项目总数
感谢 Furqan
你可以使用数组对象的Length
财产。
从MSDN(Array.Length性):
获取一个32位整数,它表示元素的在阵列的所有维度的总数。
阅读关于arrays in VB.NET和Array类以更好地理解VB.NET和.NET框架中的数组。
更新:
然而,对于遍历数组,你只需要使用一个For Each
环路(作为一个数组就像.NET任何其他集合处理) - 这样一来,就不会犯与数组边界和关闭任何愚蠢的错误通过的:
For Each item As arrayItemType in MyArray
' do stuff with item
Next
参见this页的例子。
如果编译器告诉你你的变量不是一个系统数组,那么很有可能它不是一个数组。如果它不是一个数组,你将无法通过任何方式获得它的边界。
检查本地窗口中的变量并验证您的变量是您认为是的类型。毕竟它可能不是一个数组。
就像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提示'对于Each' – Oded 2010-10-14 18:47:09