在if / else条件下是否有比以下方法更好(更简洁)的相同集合对象的迭代方法:
bool condition = DetermineConditionValue();
if(condition)
{
foreach(var v in variables)
{
PerformAction(v);
}
else
{
foreach(var v in variables)
{
PerformAnotherAction(v);
}
}
是否有更好的方法避免两次编写循环?
答案 0 :(得分:9)
您可以使用Action<T>
Action<YourParameterTypeHere> actionToDo = DetermineConditionValue()
? PerformAction
: PerformAnotherAction;
foreach(var v in variables)
{
actionToDo(v);
}