如何使用DataTable和For Each Loop填充List?

nim*_*bit 0 .net sql vb.net datatable generic-list

我正在尝试使用DataTable填充List,我为每个循环检查每一行并将该项添加到列表中.但代码不起作用,我不断收到错误..

System.NullReferenceException:{"对象引用未设置为对象的实例."}

-Data:{System.Collections.ListDictionaryInternal}

-HelpLink:Nothing -Inner Exception:Nothing

-TargetSite:{System.Collections.Generic.List`1 [System.String] getListOfUsers()}

这是我的代码......

Function getListOfUsers() As List(Of String)

    'Dim i As Integer = 0
    Dim lUserNames As List(Of String) = Nothing

    Dim dt As DataTable = getDataTable(db_Config, "SELECT * FROM tblUsers")

    If dt.Rows.Count > 0 Then

        Try

            For Each dRowItem As DataRow In dt.Rows

                'i = i + 1

                'If IsDBNull(dt.Rows(0)("fldUserName").ToString) = False Then
                '    lUserNames.Add(dt.Rows(0)("fldUserName").ToString)
                'End If

                If dRowItem.Item("fldUserName").ToString <> "" Then
                    lUserNames.Add(dRowItem.Item("fldUserName").ToString)
                End If

            Next dRowItem

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try

    End If

    Return lUserNames

End Function
Run Code Online (Sandbox Code Playgroud)

Jac*_*ger 5

目前lUserNames尚未初始化.你需要这样做:

Dim lUserNames As New List(Of String)
Run Code Online (Sandbox Code Playgroud)