问题标签 [ternary-operator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
8366 浏览

java - java 三元运算符

有人可以解释为什么这段代码吗?

产生以下编译器错误:

不兼容的条件操作数类型 ArrayList 和 HashSet

由于我不明白的原因,以下解决了问题

我正在使用 Java 1.4。

0 投票
2 回答
8305 浏览

c# - C# 使用 LINQ 和 Nullable Boolean

我有下面的 linq 查询,它接受一个可能是 Y、N 或 DBnull 的文本字段并填充一个布尔值?参数为 True、False 或 null,具体取决于字段的值。

有问题的行是

阅读后,我发现了一些文档,其中指出内联的第二个和第三个参数是否需要具有相同的类型或可以隐式转换为另一个。

我的问题是,我如何绕过这个限制来达到我想要的结果?

我对 C# 比较陌生,所以还不熟悉它的所有怪癖/功能。

0 投票
1 回答
6703 浏览

actionscript-3 - ActionScript 三元运算符

在行动脚本

str 是字符串 var

当我提醒 str 没有收到任何消息时.....为什么没有收到

代码:

0 投票
4 回答
1687 浏览

ruby - ruby 成语:谓词和条件运算符

我喜欢明智地使用三元条件运算符。在我看来,它非常简洁。

但是,在 ruby​​ 中,我发现我经常测试谓词方法,它们已经有自己的问号:

这两个问号如此接近,让我感到震惊。是否有同等紧凑和可读的替代方案?

0 投票
4 回答
7982 浏览

php - 是否可以使用一个三元运算符设置多个变量?

我想看看是否可以使用一个三元运算符设置多个变量。我谷歌了一下,但没有想出任何东西。我开始测试一些想法,发现了一些接近的东西——但也得到了一些奇怪的行为;关于发生了什么的任何想法?var而且,是否可以在一次三元运算中设置多个?如果是这样,是否有正确的方法?

谢谢...


编辑:

我做了更多的测试,发现这可以正常工作:

但是,我不确定这是否正确。我很好奇第一个例子中发生了什么。

0 投票
2 回答
250 浏览

if-statement - 语句的三元运算符

如何为以下编写三元运算符?

是这样吗

0 投票
2 回答
19964 浏览

c - ?:将一个表达式留空时的三元条件运算符行为

我正在编写一个控制台应用程序,它会尝试通过反复试验来“猜测”一个数字,它工作得很好,但它让我想知道我心不在焉地写的某个部分,

代码是:

更具体地说,让我感到困惑的部分是

我曾经((100/(i<<=1))?:1)确保如果100/(i<<=1)返回 0 (或 false),整个表达式将评估为 1 ((100/(i<<=1))?:***1***),并且我将条件的一部分留给如果它为 true 将起作用 empty ((100/(i<<=1))? _this space_ :1),它似乎可以正常工作,但是离开有任何风险那部分条件为空?

0 投票
5 回答
3101 浏览

php - 使用三元运算符时可以通过引用传递吗?

简单的问题,简单的代码。这有效:

这不会:

它抛出PHP Parse error: syntax error, unexpected '&'。使用条件运算符时是否不能通过引用传递,为什么不呢?如果?和之间有空格也会发生&

0 投票
4 回答
5240 浏览

c# - DBNull 的简洁用法?(三元?)

三元运算符似乎存在一些类型混淆。我知道这已在其他 SO 线程中得到解决,但它总是与可为空的。另外,就我而言,我真的只是在寻找更好的方法。

我希望能够使用

但相反,我坚持这一点:

三元运算符失败是因为 DBNull 和字符串之间不可能进行转换,而且考虑到 Value 是对象似乎很愚蠢,编译器将它踢回给我,我不得不关心。这个问题的可空版本的答案是将 null 转换为字符串并完成它;但是,DBNull 不能转换为字符串,所以那里没有运气。

有没有更简洁的方法来做到这一点(顺便说一句,不使用可空值?)

谢谢!

0 投票
1 回答
674 浏览

php - PHP 三元运算符说明

我经常使用三元运算符,但我无法在文档中找到任何关于此的内容,我一直想知道。

以下是一个可能的示例:

如你所见,如果 $something->message 是正确的,我们返回 $something->message,但为什么要写两次呢?有没有办法做类似的事情:

现在我对编程理论并不精通,所以可能有一个原因不能用“this”之的东西引用前者,但为什么不呢?这不会简化三元运算符的使用吗?对于像我的例子这样的东西,它非常没用,但假设它是

我无法找到任何方法来做到这一点,所以我假设这是不可能的,如果我错了,请告诉我,否则:为什么不呢?为什么这不可能,技术原因是什么,或者只是从未发生过的事情?我应该将其声明为变量,然后针对该变量进行测试吗?