3.检查函数 if (!CheckStart()) return 的妙用 C#例子

在桌面/WPF 开发中,我们经常需要在按钮事件里先判断"能不能做",再决定"怎么做"。如果校验不过,就直接返回;校验通过,才继续执行业务逻辑。

今天分享一个极简写法:if (!CheckStart()) return;,只需一行即可把校验与主流程解耦,让代码既干净又易读。


一、为什么推荐这种写法?

  1. 省掉嵌套 :传统做法会把全部逻辑包在一层 if 里,缩进越来越深;用 return 提前终止,主流程保持"一马平川"。

  2. 语义直观:读代码时一眼就能知道------"校验不过就拉闸"。

  3. 复用方便CheckStart() 里可以放任何通用规则,比如

    • 端口是否已打开

    • 授权是否有效

    • 配置是否完整

      需求变了,只改一处即可。


二、示例

事件触发后,先执行 CheckStart() 进行一次性前置检查:

  • 若返回 false,立即中断流程;

  • 若返回 true,继续后续主逻辑。

cs 复制代码
private void Button_RFSwitch(object sender, RoutedEventArgs e)
{
    // 1. 前置校验:不通过直接返回
    if (!CheckStart()) return;

    // 2. 主流程:切换 RF 开关
    ......
}

CheckStart()检查函数的定义

cs 复制代码
        private bool CheckStart()
        {
            if (vSG == null)
            {
                MessageBox.Show("未初始化");
                return false;
            }
            return true;
        }

三、小结

一行 if (!CheckStart()) return;,看似不起眼,却是"防御式编程"的精髓:

  • 早失败、早返回

  • 逻辑分层、职责单一

  • 代码更短、可读性更高

下次写按钮事件,不妨试试这个小技巧,让你的 C# 代码瞬间清爽起来!

相关推荐
ku_code_ku16 分钟前
python bert_score使用本地模型的方法
开发语言·python·bert
小马哥编程22 分钟前
【软考架构】滑动窗口限流算法的原理是什么?
java·开发语言·架构
云栖梦泽29 分钟前
鸿蒙数据持久化实战:构建本地存储与云同步系统
开发语言·鸿蒙系统
wjs202435 分钟前
《Ionic 侧栏菜单》
开发语言
祁思妙想36 分钟前
linux常用命令
开发语言·python
IMPYLH1 小时前
Lua 的 IO (输入/输出)模块
开发语言·笔记·后端·lua
普通网友1 小时前
Objective-C 类的方法重载与重写:区别与正确使用场景
开发语言·ios·objective-c
白衣衬衫 两袖清风1 小时前
ABP框架+Dapper执行原生sql
sql·c#·.net
喵了meme1 小时前
C语言实战6
c语言·开发语言
AAA阿giao1 小时前
从“操纵绳子“到“指挥木偶“:Vue3 Composition API 如何彻底改变前端开发范式
开发语言·前端·javascript·vue.js·前端框架·vue3·compositionapi