给定两个不同类型的 IEnumberables,迭代两个列表以对所有可能的组合执行操作的最佳实践是什么(考虑可读性和可维护性)?
我最初的解决方案是使用嵌套的 foreach 循环,遍历第一个 IEnumerable,然后在该循环内,遍历第二个 IEnumerable,并将外部循环和当前循环的值传递给目标方法。例如。:
enum ParamOne
{
First,
Second,
Etc
}
List<int> paramTwo = new List<int>() { 1, 2, 3 };
void LoopExample()
{
foreach (ParamOne alpha in Enum.GetValues(typeof(ParamOne)))
{
foreach (int beta in paramTwo)
{
DoSomething(alpha, beta);
}
}
}
我尝试使用 LINQ 对其进行重构,但最终得到的结果没有明显的优势,而且似乎不太直观。此处的搜索显示了许多关于嵌套 foreachs 以迭代子属性的问题,但我找不到任何关于迭代两个不同列表的信息。