我正在构建一个测试程序。该程序将迭代许多参数组合,并针对每种情况返回测试结果。 我的问题是,不是所有类型的参数都发送到程序中。例如,此时出现参数A,参数B和参数C。然后针对所有参数组合进行3次循环:
foreach (var a in paramA )
foreach (var b in paramB )
foreach (var c in paramC )
但是有时会有ParamA,ParamD,或者然后我必须进行如下循环
foreach ( var a in paramA )
foreach ( var d in paramD )
所以我想知道对于这个特殊问题是否有某种设计模式或技术
谢谢
答案 0 :(得分:0)
这是我的递归尝试。
假设var[] pars
是包含所有参数的数组。
private void RunAll(var[] parm)
{
foreach(var p in parm[0])
{
//Do something.
if(parm.Count()>1) RunAll(parm.Skip(1).ToArray());
else
{
//Do something for the bottom-most param.
}
}
}
在主代码中,只需将所有参数放在pars
中并调用RunAll(pars);
祝你好运!