如何优雅初始化条件语句外的字符串?避免空串初始化
更简洁的条件赋值方案
当然不是最简洁的实现方式啦!你这段代码里提前初始化空字符串的操作完全是多余的,咱们可以用更优雅的方式来实现,既省去不必要的空值初始化,还能让代码逻辑更紧凑清晰。
先看看你的原实现:
string str = ""; if(something) { str = "a"; } else { str = "b"; }
最优简化方案:三元运算符
直接在变量声明时通过三元表达式完成条件赋值,一步到位:
string str = something ? "a" : "b";
这个写法完美满足你的需求:
- 不需要提前用空字符串初始化
str - 变量直接在条件语句外的作用域完成声明与赋值
- 代码行数更少,逻辑一眼就能看懂
如果后续你的分支逻辑变得更复杂(比如每个分支里需要多行代码处理),还可以考虑用表达式体的方法,但针对当前这个简单的二选一赋值场景,三元运算符就是最简洁高效的方案了。
内容的提问来源于stack exchange,提问作者Papi Abi
相关产品推荐
相关产品推荐

