我想使用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
});
答案 0 :(得分:2)
ForEach
是List<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
没有任何好处。