2015-02-10 32 views
0

我有一個表查詢,然後試圖使用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

回答

1

不,你可以不投,但你可以轉換:

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