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语句.如果涉及副作用,那么只需按照经过时间考验的子程序实践. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |