DataTableExtensions.AsEnumerable 方法
在下面的示例中,DisplayProducts 方法接收一个数据表,其中包含名为 ProductName一个 DataColumn,提取 ProductName 值,然后输出值。
using System; using System.Data; class Program { public void DisplayProducts(DataTable table) { var productNames = from products in table.AsEnumerable() select products.Field<string>("ProductName"); Console.WriteLine("Product Names: "); foreach (string productName in productNames) { Console.WriteLine(productName); } } static void Main(string[] args) { DataTable table = new DataTable(); table.Columns.Add("ID"); table.Columns.Add("ProductName"); table.Rows.Add("1", "Chai"); table.Rows.Add("2", "Queso Cabrales"); table.Rows.Add("3", "Tofu"); Program inst = new Program(); inst.DisplayProducts(table); } }
总结:
之前我在想如何利用Linq处理DataTable数据,现在我找到了,这种方法结合Linq非常的好操作,现在再也不用为公司的ado.net头痛了,大家认为怎么样,上午我还写了一个DataTable转化为List的方法,现在看看那个方法有点鸡肋了,希望大家提出自己的想法讨论讨论。^_^