加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi – 相当于C#的三元运算符?

发布时间:2020-12-15 10:15:43 所属栏目:大数据 来源:网络整理
导读:Possible Duplicate: 07000 我知道Delphi没有C#中的三进制运算符。 即: 那么如何最好地代表这个函数调用?那里最干净的方法是什么? 如果有任何代码可以使用INSTEAD写一个单独的函数会很好吗?如果没有,最有效和/或最干净的代码代码是什么? 解决方法 当然

Possible Duplicate:
07000

我知道Delphi没有C#中的三进制运算符。
即:

那么如何最好地代表这个函数调用?那里最干净的方法是什么?

如果有任何代码可以使用INSTEAD写一个单独的函数会很好吗?如果没有,最有效和/或最干净的代码代码是什么?

解决方法

当然可以使用
IfThen(SomeBooleanExpression,IfTrueReturnValue,IfFalseReturnValue)

返回值为数值(使用Math)或字符串(使用StrUtils)。但是请注意,这将在所有情况下评估两个参数 – 没有懒惰的评估,所以它不如C#中的?:运算符那么有效,只有正确的操作数被评估。

所以你不能做

y := IfThen(x <> 0,1/x,0)

最好的事情是坚持一个普通的

if x <> 0 then y := 1/x else y := 0;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读