如何转换/解析数据表中的小数列?

问题描述:

我有一个表查询,然后试图使用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。有没有一种方法可以在投射整个阵列之前转换此列?或者,解决这个问题的唯一方法是更改​​表的模式?

+0

'ItemArray.OfType ()..'会将其删除。 – Hogan 2015-02-10 20:36:34

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

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