投稿者 るきお  (社会人) 投稿日時 2021/8/28 11:07:37
私も例を作ってみたので紹介します。
私の場合は、行列構造の維持にこだわらず特定の値のリストを作るような例が中心です。
この例はVB2015以上で動作します。

'▼サンプルのDataTable を作成。xid と xname の2列からなるテーブルです。 
Dim table As New Data.DataTable
table.Columns.Add("xid"GetType(Integer))
table.Columns.Add("xname"GetType(String))

table.Rows.Add(1, "徳川家康")
table.Rows.Add(2, "豊臣秀吉")
table.Rows.Add(3, "織田信長")

'■【例1A】Tableを構成する各行(DataRow)のListを作成します。 
Debug.WriteLine("例1A")
Dim theList As New List(Of Data.DataRow)
For Each row As Data.DataRow In table.Rows
    theList.Add(row)
Next

'変換結果を確認するために出力ウィンドウに出力 
For Each row As Data.DataRow In theList
    Debug.WriteLine($"{row("xid")} = {row("xname")}")
Next

'■【例1B】xname を持つ List(Of String)に 変換B 
Debug.WriteLine("例1B")
Dim xnameList As New List(Of String)
For Each row As Data.DataRow In table.Rows
    xnameList.Add(CStr(row("xname")))
Next

'変換結果を確認するために出力ウィンドウに出力 
For Each xname As String In xnameList
    Debug.WriteLine(xname)
Next


'■【例1C】xid を持つ List(Of Integer)に 変換 
Debug.WriteLine("例1C")
Dim xidList As New List(Of Integer)
For Each row As Data.DataRow In table.Rows
    xidList.Add(CInt(row("xid")))
Next

'変換結果を確認するために出力ウィンドウに出力 
For Each xid As Integer In xidList
    Debug.WriteLine(xid)
Next