2013-02-28 18 views
15

我有一個datatable其中只包含一列,所有項目都是字符串。我怎樣才能使用LINQ將其轉換爲List<string>一個列數據表列表<string>

我想:

DataRow[] rows = dtusers.Select(); 
var qq = from RowCollection in rows 
     select new { UserCode = LibStatic.ToStr(RowCollection["UserCode"]) }; 

List<string> users = new List<string>(); 
users = qq.Cast<string>().ToList(); 

有它始終工作在鬆槽:

foreach (DataRow dr in dtusers.Rows) 
{ 
    users.Add(dr[0].ToString()); 
} 

回答

43

您可以使用LINQ query做到這一點。

List<string> list = dtusers.AsEnumerable() 
          .Select(r=> r.Field<string>("UserCode")) 
          .ToList(); 
+1

真的很有用。謝謝.. :) – Divya 2017-08-24 13:26:48

+1

謝謝,對於任何人想避免列名使用。選擇(r => r.Field (0)) – user960567 2018-02-14 07:25:49

+1

我得到一個錯誤EnumerableRowCollection不包含定義列表 ..在這種情況下導入系統。 LinQ包到你的班級 – 2018-02-25 09:08:50

相關問題