如何转换/解析数据表中的十进制列?

时间:2015-02-10 20:30:20

标签: vb.net linq casting

我有一个表我正在查询,然后尝试使用Linq将itemArray转换为字符串数组。

我正在使用以下

Dim ObjectMapping As DataTable = ds.Tables(0)
Dim index As Integer = 0
Dim query = From ObjectMap In ObjectMapping.AsEnumerable() Select ObjectMap
Dim test = dr.ItemArray.Cast(Of String)().ToArray()

该表有13列,ItemArray包含

(0) - "string"
(1) - double
(2) - "string"
(3) - "string"
(4) - DBNull
(5) - DBNull
(6) - DBNull
(7) - DBNull
(8) - DBNull
(9) - DBNull
(10) - DBNull
(11) - DBNull
(12) - DBNull

当我尝试将ItemArray转换为String数组时,由于第二列包含Double值而不是String,它会死掉。有没有办法在转换整个数组之前转换此列?或者解决这个问题的唯一方法是更改​​表的架构吗?

1 个答案:

答案 0 :(得分:1)

不,你不能施放,但你可以转换:

Dim test = dr.ItemArray.Select(Function (o) o.ToString()).ToArray()