【VB.NET】LINQの使い方(Except)

Except:2つのシーケンスの差集合のシーケンスを生成する

VB
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim dt As New DataTable
        With dt
            .Columns.Add("Code", GetType(String)) 'コード
            .Columns.Add("Count", GetType(Integer)) '個数
            .Rows.Add("A001", 2)
            .Rows.Add("A001", 3)
            .Rows.Add("A002", 1)
            .Rows.Add("A003", 4)
            .Rows.Add("A004", 4)
        End With

        'dtからNGListを除外した結果をexceptedListに格納する
        Dim NGList = New List(Of String)(New String() {"A002", "A003"})
        Dim exceptedList = dt.AsEnumerable.Select(Function(dr) dr("Code")).
                                           Except(NGList)

        '出力結果----
        'A001
        'A004


    End Sub

コメント

タイトルとURLをコピーしました