2011-05-25 16 views
15

我有一個DataTable。我想要獲取每行第一列值並追加到字符串數組。我不想使用foreach循環每行並添加到字符串數組。我想這一點,但停留在一些點DataTable的行的第一列到字符串數組

DataRow[] dr = new DataRow[dtCampaignSubscriberLists.Rows.Count]; 
dtCampaignSubscriberLists.Rows.CopyTo(dr, 0); 
string[] array = Array.ConvertAll(dr, new Converter<DataRow, String>(????)); 

感謝

回答

32
string[] array = yourTable 
       .AsEnumerable() 
       .Select(row => row.Field<string>("ColumnName")) 
       .ToArray(); 
+0

打我吧:-) – 2011-05-25 15:39:58

+0

非常感謝,我猜猜你忘記了以後的味覺.AsEnumarable @Yagiz – 2011-05-25 15:42:27

+0

,的確,我做到了。直接輸入。感謝您指出。 – 2011-05-25 15:42:57

5

你可以這樣做:

dtCampaignSubscriberLists.AsEnumerable().Select(r => r[0].ToString()).ToArray();

+0

我打算選擇所選的評論代碼,但後來我懶得檢查數據庫中的列名,所以即時通過這個:D – GabrielBB 2015-03-30 14:38:28

相關問題