Vb.net 通过下一个循环遍历DataTable中的整数列?
我使用fornext循环遍历数据表的列。其中一列是布尔值列,for Next代码适用于该列。但是,迭代整数列的相同代码不起作用(?) 我得到的错误我想我理解了,但我如何修复它?或者我可以不使用For Next循环遍历整数行吗?我是否需要先将这列整数转储到数组中,然后再使用它?我希望这个尽可能简单?在本专栏中,我使用的最多数据是50个元素 尝试遍历整数列时遇到的错误是:“无法将'System.Int32'类型的对象强制转换为'System.Collections.IEnumerable'类型Vb.net 通过下一个循环遍历DataTable中的整数列?,vb.net,for-loop,datatable,Vb.net,For Loop,Datatable,我使用fornext循环遍历数据表的列。其中一列是布尔值列,for Next代码适用于该列。但是,迭代整数列的相同代码不起作用(?) 我得到的错误我想我理解了,但我如何修复它?或者我可以不使用For Next循环遍历整数行吗?我是否需要先将这列整数转储到数组中,然后再使用它?我希望这个尽可能简单?在本专栏中,我使用的最多数据是50个元素 尝试遍历整数列时遇到的错误是:“无法将'System.Int32'类型的对象强制转换为'System.Collections.IEnumerable'类型 Fo
For Each [boolean] In sourceTable.Rows(0).Item(0)
Try
bools(i) = sourceTable.Rows(i).Item(0)
Catch ex As Exception
MessageBox.Show(Me, ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
i += 1
Next
i = 0
For Each [integer] In sourceTable.Rows(0).Item(3)
Try
intVals(i) = sourceTable.Rows(i).Item(3)
Catch ex As Exception
MessageBox.Show(Me, ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
i += 1
Next
正确的方法是在Rows集合上循环
Dim row As DataRow
For Each row In sourceTable.Rows
Try
Dim boolValue as Bool = Convert.ToBoolean(row.Item(0))
....
第二个循环是
For Each row In sourceTable.Rows
Try
Dim intValue = Convert.ToInt32(row.Item(3))
....
要用于每个(或简单的For),您需要有一个要迭代的集合。行是集合,而行(0)是集合。项(0)表示第一行位置0处的字段。显然,这不是一个集合。好的,谢谢。我想让我更困惑的是,我用于布尔数据列的For Next循环在编码时起作用。因此,我的想法自然是,“好的,如果是这样的话,那么为整数数据列编写相同的代码也应该是这样。”了解为什么它对布尔值有效,但对整数无效会很有帮助。