3.检查函数 if (!CheckStart()) return 的妙用 C#例子
在桌面/WPF 开发中,我们经常需要在按钮事件里先判断“能不能做”,再决定“怎么做”。如果校验不过,就直接返回;校验通过,才继续执行业务逻辑。
今天分享一个极简写法:if (!CheckStart()) return;
,只需一行即可把校验与主流程解耦,让代码既干净又易读。
一、为什么推荐这种写法?
省掉嵌套:传统做法会把全部逻辑包在一层
if
里,缩进越来越深;用return
提前终止,主流程保持“一马平川”。语义直观:读代码时一眼就能知道——“校验不过就拉闸”。
复用方便:
CheckStart()
里可以放任何通用规则,比如端口是否已打开
授权是否有效
配置是否完整
需求变了,只改一处即可。
二、示例
事件触发后,先执行 CheckStart()
进行一次性前置检查:
若返回
false
,立即中断流程;若返回
true
,继续后续主逻辑。
private void Button_RFSwitch(object sender, RoutedEventArgs e)
{// 1. 前置校验:不通过直接返回if (!CheckStart()) return;// 2. 主流程:切换 RF 开关......
}
CheckStart()
检查函数的定义
private bool CheckStart(){if (vSG == null){MessageBox.Show("未初始化");return false;}return true;}
三、小结
一行 if (!CheckStart()) return;
,看似不起眼,却是“防御式编程”的精髓:
早失败、早返回
逻辑分层、职责单一
代码更短、可读性更高
下次写按钮事件,不妨试试这个小技巧,让你的 C# 代码瞬间清爽起来!