DataTableの値を抽出してListに格納

'CDの格納先List
Dim List_A As New List(Of Integer)
Dim List_B As New List(Of Integer)
Dim List_C As New List(Of String)

'ForEachでCD列をListで取得
Array.ForEach(dt.AsEnumerable() _
              .Select(Function(row) row("CD")) _
              .ToArray() _
              , Sub(Item) List_A.Add(Item))

'ForEachで「NAME=松本」のCDを抽出
Array.ForEach(dt.AsEnumerable() _
              .Where(Function(row) row("NAME") = "松本") _
              .Select(Function(row) row("CD")) _
              .ToArray() _
              , Sub(Item) List_B.Add(Item))

'ForEachで「CD=2」のNAMEを抽出
Array.ForEach(dt.AsEnumerable() _
              .Where(Function(row) row("CD") = 2) _
              .Select(Function(row) row("NAME")) _
              .ToArray() _
              , Sub(Item) List_C.Add(Item))

List_Aに「1,2,3,4,5」
List_Bに「1」
List_Cに「高橋」
が入る。

forを使用すれば簡単だけど、
この方法なら1行で処理出来ちゃうのでスッキリ(=゚ω゚)ノ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です