如何convert/parse数据表中的小数列?

How to convert/parse decimal column in datatable?

我有一个 table 我正在查询,然后尝试使用 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()

table有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 转换为字符串数组时,由于第 2 列包含 Double 值而不是字符串,它死了。有没有办法在转换整个数组之前转换此列?或者解决这个问题的唯一方法是更改​​ table?

的模式

不,你不能投射,但你可以转换:

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