【发布时间】:2022-01-22 00:32:03
【问题描述】:
我有一个列表,其中包含如下所示的一堆函数
var listOfSteps = new List<StepList>
{
new Setup(parameters),
new InitializeClass(parameters),
new calculate(parameters),
//72 steps in total
}
我必须根据条件向列表中添加另一个函数。
int result = 从 someTable 中选择一些东西
var listOfSteps = new List<StepList>
{
new Setup(parameters),
new InitializeClass(parameters),
new calculate(parameters),
if (result = 5) {new display(parameters)}, //This is the additional step to be added
//72 steps in total
}
我试图避免为如下所示的简单 if 条件创建 2 个不同的集合
if(result = 5)
{
var listOfSteps = new List<StepList> //list with the new function
{
new Setup(parameters),
new InitializeClass(parameters),
new calculate(parameters),
new display(parameters),
//72 steps in total
}
}
else
{ //list without the new function
new Setup(parameters),
new InitializeClass(parameters),
new calculate(parameters),
//72 steps in total
}
有没有办法在列表创建中实现这个条件?
【问题讨论】:
-
为什么不把 if 放在 display() 或者另一个调用 display 的函数中?
-
不在初始化程序中,但是是什么阻止您在初始化程序之后添加条件?
-
var listOfSteps = new List<StepList> { ... }; if (result == 5) { listOfSteps.Add(...); }-> 我没有看到其中的问题或复杂性