C# ForEach扩展方法中的多重选择
在ForEach扩展方法中是否可以选择多个实体 (即) 给出了部分代码C# ForEach扩展方法中的多重选择,c#,asp.net,linq,C#,Asp.net,Linq,在ForEach扩展方法中是否可以选择多个实体 (即) 给出了部分代码 DataTableA.AsEnumerable().ToList(). ForEach(x=> { x.SetField<string>("Name","Jon Skeet"), x.SetField<string>("msg","welcome") }); DataTableA.AsEnumerable().ToList()。 ForE
DataTableA.AsEnumerable().ToList().
ForEach(x=>
{
x.SetField<string>("Name","Jon Skeet"),
x.SetField<string>("msg","welcome")
});
DataTableA.AsEnumerable().ToList()。
ForEach(x=>
{
x、 设置域(“名称”、“Jon Skeet”),
x、 设置字段(“msg”,“欢迎”)
});
当我在ForEach中应用多个选择时
x=>
{
x.SetField<string>("Name","Jon Skeet"),
x.SetField<string>("msg","welcome")
}
x=>
{
x、 设置域(“名称”、“Jon Skeet”),
x、 设置字段(“msg”,“欢迎”)
}
我无法完成该语句。请帮助。您需要将lambda编译为有效的C#:
DataTableA.AsEnumerable().ToList().ForEach(
x=>
{
x、 设置域(“名称”、“Jon Skeet”);
x、 设置字段(“msg”,“欢迎”);
});
尽管如此,我还是要提醒大家不要这样做。使用ForEach是非常简单的,它实际上并不比语言本身中的ForEach语句更简洁。就我个人而言,我会写:
foreach(var element in DataTableA.AsEnumerable())
{
element.SetField<string>("Name","Jon Skeet");
element.SetField<string>("msg","welcome");
}
foreach(DataTableA.AsEnumerable()中的var元素)
{
元素设置域(“名称”、“Jon Skeet”);
元素设置字段(“msg”、“welcome”);
}
在我看来,这比第一句话要清楚得多(而且更简短、更有效,因为它不会强制对列表进行完整枚举,也不会强制对列表元素进行第二次枚举)。再次感谢我根据您的建议更新了代码
foreach(var element in DataTableA.AsEnumerable())
{
element.SetField<string>("Name","Jon Skeet");
element.SetField<string>("msg","welcome");
}