gpt4 book ai didi

c# - 有没有办法使三元运算短路?

转载 作者:行者123 更新时间:2023-11-30 14:15:26 25 4
gpt4 key购买 nike

我会写

if(Model.DecisionReason != null && Model.DecisionReason.Length > 35)
return Model.DecisionReason.Substring(0, 32) + "...";
else
return Model.DecisionReason;

if 中的 && 比较将短路,如果 Model.DecisionReason 为 null,则防止出现异常。但是,如果我写

return (Model.DecisionReason != null && Model.DecisionReason.Length > 35) ?
Model.DecisionReason.Substring(0, 32) + "..." :
Model.DecisionReason;

没有短路,我命中了异常。有没有办法让它短路,或者我是否被迫将长度比较包装在 if 检查空或嵌套三元组(不是最可读的)中?

最佳答案

您编写的两个代码示例将具有相同的行为。短路的不是 if,而是 && 表达式本身的核心组件。

关于c# - 有没有办法使三元运算短路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10128110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com