2017-02-07 53 views
0

我有一個ArrayList,它有一個string在第0位和DataTable在第一位 是否有可能得到DataTable回來?如何從dataTable存儲的arraylist中獲取dataTable?

ArrayList dataModel = new ArrayList(); 
DataTable dt = new DataTable(); 
dt.Columns.Add("A"); 
dt.Columns.Add("B"); 
dt.Columns.Add("C"); 
dt.Rows.Add("1","Rahul","Vapi"); 
dt.Rows.Add("2", "Yash", "Vapi"); 
dt.Rows.Add("3", "Dinesh", "vapi"); 

dataModel.Add("this is working for me"); 
dataModel.Add(dt); 

我收到此錯誤:

無法隱式轉換類型 '對象' 到 'System.Data.DataTable'。一個顯式轉換存在(是否缺少強制轉換?)

+0

這是錯的?怎麼樣使用'名單<詞典<字符串,數據表>>' – Pikoh

+0

@Pikoh:當然,你應該不必再使用'ArrayList'。但是你的榜樣並沒有幫助。 OP只有兩個項目,一個字符串和一個'DataTable'。所以如果你想用普通的集合來替換它,你需要使用'List ',在這種情況下,你還需要投射這些項目。 –

+0

@ pikoh:因爲這就是OP如何使用數組列表。他不需要一種方法來存儲多個字符串數據表組合,您可以使用List >處理這些組合。只有一個字符串和一個DataTable。當然,他應該使用兩個單獨的變量(局部變量,屬性或字段),或者使用封裝兩者的類。 –

回答

1

(是否缺少強制轉換?)

是。

DataTable dt = (DataTable) dataModel[1];