.NET Framework 4.5以降の場合は、ArraySegment構造体を使うことによって配列の一部分をListに追加することができます。
ArraySegment構造体を使って配列の一部をListに追加する .NET Framework 4.5
Imports System
Imports System.Collections.Generic
Class Sample
Shared Sub Main()
' Listへ格納したい内容をもった配列
Dim source() As Integer = New Integer() {0, 1, 2, 3, 4}
' 追加先となるList
Dim list As New List(Of Integer)()
' sourceのインデックス1から3つ分の要素をlistに追加する
' (sourceのインデックス1から3つ分の要素を参照するArraySegmentを作成して追加する)
list.AddRange(New ArraySegment(Of Integer)(source, 1, 3))
Print(list)
End Sub
' Listの内容を列挙して表示する
Shared Sub Print(ByVal list As List(Of Integer))
For Each e As Integer In list
Console.Write("{0}, ", e)
Next
Console.WriteLine()
End Sub
End Class
実行結果
1, 2, 3,
.NET Framework 4.5より前のバージョンでは、ArraySegment構造体がIEnumerable<T>インターフェイスを実装していないため、AddRangeメソッドでArraySegment構造体を追加することはできません。
ArraySegment構造体について詳しくは部分配列 §.ArraySegment構造体を参照してください。