You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将if-else语句改写为单行代码(优化重复代码)

简化重复逻辑的单行写法

你可以利用三元运算符把变量选择和格式化逻辑合并成一行,消除重复的string.Format调用:

var zp = __Services.GetValue("Z", Order.Code);
var St = string.Format(sp.Label != null ? _Services.GetValue("Z", sp.Label) : zp, ......., userProfile.DisplayName());

如果想要更紧凑的写法(可读性稍有下降,按需选择),还能把zp的获取也整合进去:

var St = string.Format(sp.Label != null ? _Services.GetValue("Z", sp.Label) : __Services.GetValue("Z", Order.Code), ......., userProfile.DisplayName());

简单解释

  • 三元表达式sp.Label != null ? 表达式1 : 表达式2会根据条件返回对应的值,直接替代了原来的if-else分支判断
  • 这样就把重复的string.Format调用合并成一次,只在模板参数上做条件区分,达到精简代码的目的

内容的提问来源于stack exchange,提问作者test test

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 03:20:24