c# – 重构嵌套的foreach语句
发布时间:2020-12-15 17:42:12 所属栏目:百科 来源:网络整理
导读:我有一个嵌套foreach集合的方法(迭代一组对象,然后查看每个对象内部).我在一本书中看到一个很好的模式,使这个更加优雅,但不记得/找到代码示例.我还能怎么做得更整洁? 代码只是一个典型的嵌套foreach语句,所以我没有提供代码示例. 解决方法 明显的解决办法是
|
我有一个嵌套foreach集合的方法(迭代一组对象,然后查看每个对象内部).我在一本书中看到一个很好的模式,使这个更加优雅,但不记得/找到代码示例.我还能怎么做得更整洁?
代码只是一个典型的嵌套foreach语句,所以我没有提供代码示例. 解决方法
明显的解决办法是将其变成方法.
旧: void SubmitOrders()
{
var orders = GetOrders();
foreach (Order o in orders)
{
foreach (OrderDetail d in o.Details)
{
// Blah...
}
}
}
新: void SubmitOrders()
{
var orders = GetOrders()
foreach (Order o in orders)
{
SubmitOrder(o);
}
}
void SubmitOrder(Order order)
{
foreach (OrderDetail d in order.Details)
{
// Blah...
}
}
这里的其他答案似乎集中在Linq上,我同意如果你的循环没有副作用(即你只是想从最内层的循环中提取一些信息),那么你可以使用一个或者多个两个简单的Linq语句.如果涉及副作用,那么只需按照经过时间考验的子程序实践. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
