给定以下一段 foreach 代码,我如何将其编写为 LINQ
foreach(var error in ex.Errors)
{
Logger.Error("Field {0} has an error : {1}. for SSN {2}",error.FieldName, error.Message, error.SSN);
}
最佳答案
LINQ 用于生成结果,例如新序列和聚合。它不适合产生副作用,例如日志输出。
foreach
在你的代码中循环是一个完全可以接受的、非常可读的解决方案。如果你想摆脱它,你可以使用 List.ForEach
方法,它需要一个 Action<T>
:
ex.Errors.ForEach(
error => Logger.Error(
"Field {0} has an error : {1}. for SSN {2}"
, error.FieldName
, error.Message
, error.SSN);
);
关于c# - 在写入 Logger 或 Console 时将 foreach 转换为 LINQ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34997430/