このEnumerable.Range
メソッドを使用して、次のような1次元配列を作成できます。
Dim start = 0
Dim count = 10
Dim singleArray = Enumerable.Range(start, count).ToArray()
多次元配列を作成するには、以下で行ったように、コレクションを変更するための独自の拡張メソッドを作成する必要があります。
Public Module Extensions
<Runtime.CompilerServices.Extension()>
Function SelectMultiDimension(Of T)(collection As IEnumerable(Of T), rows As Integer, cols As Integer) As T(,)
Dim multiDimArray(rows - 1, cols - 1) As T
Dim i As Integer = 0
For Each item In collection
If i >= multiDimArray.Length Then Exit For
multiDimArray(i \ cols, i Mod cols) = item
i += 1
Next
Return multiDimArray
End Function
End Module
次に、次のように使用できます。
Dim mArray = Enumerable.Range(start, count).SelectMultiDimension(3, 4)