读书人

新手。GetUpperBound(0)

发布时间: 2013-07-08 14:13:00 作者: rapoo

新手求助。。GetUpperBound(0)
GetUpperBound(0) 具体什么意思啊?
能方便举个例子吗 ?我比较笨
[解决办法]
Array.GetUpperBound 方法

获取 Array 的指定维度的上限。

GetUpperBound(0) 返回 Array 的第一维的索引上限,GetUpperBound(Rank - 1) 返回 Array 的最后一维的上限。
该 GetUpperBound 方法不受数组中元素数的影响(如果数组为空)。 Length 属性的值可以永远不会大于元素允许的数目,其由上限确定。 例如,上限为 10 个元素的数组其长度不能大于 9(0 表示第一个元素)。
此方法的运算复杂度为 O(1)。

语法
Public Function GetUpperBound ( _
dimension As Integer _
) As Integer

例子


Imports System
Imports Microsoft.VisualBasic

Public Class SamplesArray

Public Shared Sub Main()

' Creates a new one-dimensional Array of type Int32.
Dim my1DIntArray As Array = Array.CreateInstance(GetType(Int32), 5)

' Uses GetLowerBound and GetUpperBound in the for loop.
Dim i As Integer
For i = my1DIntArray.GetLowerBound(0) To my1DIntArray.GetUpperBound(0)
my1DIntArray.SetValue(i + 1, i)
Next i
' Displays the bounds and values of the one-dimensional Array.
Console.WriteLine("One-dimensional Array:")
Console.WriteLine("Rank" + ControlChars.Tab + "Lower" _
+ ControlChars.Tab + "Upper")
Console.WriteLine("{0}" + ControlChars.Tab + "{1}" _
+ ControlChars.Tab + "{2}", 0, my1DIntArray.GetLowerBound(0), _


my1DIntArray.GetUpperBound(0))
Console.WriteLine("Values:")
PrintValues(my1DIntArray)
Console.WriteLine()

' Creates a new three-dimensional Array of type Int32.
Dim my3DIntArray As Array = _
Array.CreateInstance(GetType(Int32), 2, 3, 4)

' Uses GetLowerBound and GetUpperBound in the for loop.
Dim j, k As Integer
For i = my3DIntArray.GetLowerBound(0) _
To my3DIntArray.GetUpperBound(0)
For j = my3DIntArray.GetLowerBound(1) _
To my3DIntArray.GetUpperBound(1)
For k = my3DIntArray.GetLowerBound(2) _
To my3DIntArray.GetUpperBound(2)
my3DIntArray.SetValue(i * 100 + j * 10 + k, i, j, k)
Next k
Next j
Next i

' Displays the bounds and values of the multidimensional Array.
Console.WriteLine("Multidimensional Array:")
Console.WriteLine("Rank" + ControlChars.Tab + "Lower" _
+ ControlChars.Tab + "Upper")
For i = 0 To my3DIntArray.Rank - 1
Console.WriteLine("{0}" + ControlChars.Tab + "{1}" _
+ ControlChars.Tab + "{2}", i, my3DIntArray.GetLowerBound(i), _


my3DIntArray.GetUpperBound(i))
Next i
Console.WriteLine("Values:")
PrintValues(my3DIntArray)
End Sub


Public Shared Sub PrintValues(myArr As Array)
Dim myEnumerator As System.Collections.IEnumerator = _
myArr.GetEnumerator()
Dim i As Integer = 0
Dim cols As Integer = myArr.GetLength(myArr.Rank - 1)
While myEnumerator.MoveNext()
If i < cols Then
i += 1
Else
Console.WriteLine()
i = 1
End If
Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current)
End While
Console.WriteLine()
End Sub
End Class

' This code produces the following output.
'
' One-dimensional Array:
' Rank Lower Upper
' 0 0 4
' Values:
' 1 2 3 4 5
'
' Multidimensional Array:
' Rank Lower Upper
' 0 0 1
' 1 0 2
' 2 0 3
' Values:
' 0 1 2 3
' 10 11 12 13


' 20 21 22 23
' 100 101 102 103
' 110 111 112 113
' 120 121 122 123

读书人网 >VB Dotnet

热点推荐