使用lambda表达式遍历DataTable列

时间:2017-07-13 07:44:01

标签: c# linq lambda datatable

我想使用lambda表达式遍历DataTable列。目前我正在尝试ForEach。以下是示例代码。

foreach (DataColumn x in registeredpeople.Columns)
{
    Response.Write(tab + x.ColumnName);
    tab = "\t";
}

我希望实现这样的目标,我们可以通过列表集合来实现。

exampleCollection.ForEach(x =>
{
    sample.ID = x.Value,
    sample.Name = x.Text
});

1 个答案:

答案 0 :(得分:2)

ForEachList<T>的方法,因此您必须将该集合转换为列表。但是真的值得付出努力吗?

registeredpeople.Columns  // returns a DataColumnCollection 
    .Cast<DataColumn>()   // needed because DataColumnCollection doesn't implement IEnumerable<T> but just the non-generic IEnumerable(its old) 
    .ToList()             // needed because you want to use a method of List<T>, created a new List and fills it in a loop
    .ForEach(col => Console.WriteLine(col.ColumnName));

当然,foreach效率更高,而您ForEach没有任何好处。