If...Else转换为Action的写法
日常代码If..Else是最平常、基本而且经常使用的控制结构。这种控制逻辑在只有一层判断的情况下非常简洁而且可读性强。例如以下例子:
if (表达式为True)
{
//执行相关语句
}
else
{
//执行相关语句
}
但有些情况下If...Else里会多重嵌套If...Else,这样会大大降低可读性。例如以下例子:
if (表达式1为True)
{
//执行相关语句
}
else
{
if (表达式2为True)
{
//执行相关语句
}
else
{
//执行相关语句
}
}
可以使用System.Action改写以上If...Else语句增加可读性。在具体方法如下:
System.Action TestAction= delegate ()
{
if (表达式1为True)
{
//执行相关语句
return;
}
if(表达式2为True的情况)
{
//执行相关语句
return;
}
if(表达式2为False的情况)
{
//执行相关语句
return;
}
};
TestAction();
现在复杂的多重If...Else结构已经变成简单的多个If条件并列语句。可读性大大增加。并且还多了一个好处:这种封装令原本的If...Else结构变为函数内部的函数。该函数可以在父函数体中重复调用减少重复代码。