当列为空值时,如何从datatable获取值

时间:2015-12-17 10:50:18

标签: vb.net datatable integer nullable

我是VB2015的新手。当我尝试从datatable获取值时出现问题。列的类型是整数,而其值为null。我的变量是cc。我的部分代码如下。我得到“指定演员表无效”。请求建议

      Dim cc As Nullable(Of Integer)
        cc = Nothing

        If dt.Rows.Count > 0 Then
            cc = dt.Rows(0).ItemArray(0)
            If cc Is Nothing Then
                toID = 0
            Else
                toID = cc
            End If
            toName = dt.Rows(0).ItemArray(1).ToString
        Else
            toID = 0
            toName = ""
        End If  

1 个答案:

答案 0 :(得分:1)

不是答案,但对评论来说太大了。

您可以使用DataRow的Field(Of T)方法结合If运算符来简化代码,请注意,如果您不想使用该值,则不需要可空的cc - 类似这样的:

Dim cc as Integer
cc = If(dt.Rows(0).Field(Of Integer?)(0), 0)

If dt.Rows.Count > 0 Then
    toName = dt.Rows(0).Field(Of String)(1)
Else
    toID = 0
    toName = ""
End If