微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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;

原文地址:https://www.jb51.cc/delphi/103372.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐