Nao*_*aor 4 .net c# ienumerable foreach
我有一个IEnumerable,我尝试在枚举的每个项目中调用"Text"setter.
我可以:
foreach (Data d in DataEnumerable)
{
d.Text="123";
}
Run Code Online (Sandbox Code Playgroud)
我也可以这样做:
DataEnumerable.All(x =>
{
x.Text = "123";
return true;
});
Run Code Online (Sandbox Code Playgroud)
为每个可枚举项调用set方法的最佳做法是什么?
Mar*_*ers 10
第一种方法更好.
第二种是滥用的Enumerable.All.此方法旨在用于测试Enumerable的所有元素,以查看它们是否满足条件.你不是在这里做的.
有一种方法List.ForEach可以用于这种更新操作,但LINQ团队决定不添加相应的方法Enumerable.有关为何做出此决定的详细信息,请参阅Eric Lippert的博客: