问题标签 [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 投票
5 回答
1885166 浏览

python - 将一个简单的 if-then-else 语句放在一行上

我刚接触 Python,我真的很喜欢简洁的语法。但是,是否有一种更简单的方法来编写if- then-else语句以使其适合一行?

例如:

有没有更简单的写法?我的意思是,在 Objective-C 中,我会这样写:

Python有类似的东西吗?

更新

我知道在这种情况下我可以使用count == (count + 1) % N.

我在问一般语法。

0 投票
5 回答
1301 浏览

c# - 在 C# 中使用条件运算符键入结果

我正在尝试使用条件运算符,但我对它认为结果应该是的类型感到困惑。

以下是我试图展示我遇到的问题的示例:

在上面指示的行上,我收到以下编译错误:

无法确定条件表达式的类型,因为“< null >”和“System.DateTime”之间没有隐式转换

我很困惑,因为参数是可以为空的类型(DateTime?)。为什么它需要转换?如果它为空,则使用它,如果它是日期时间,则使用它。

我的印象是:

与以下内容相同:

显然情况并非如此。这背后的原因是什么?

(注意:我知道如果我将“myDateTime”设为可为空的 DateTime,那么它将起作用。但为什么需要它呢?

正如我之前所说,这是一个人为的例子。在我的真实示例中,“myDateTime”是一个不能为空的数据映射值。)

0 投票
13 回答
1213 浏览

c - C问题中的条件运算符

我只是对条件运算符有一个简短的问题。这里仍然是一个初出茅庐的程序员。我得到 x = 1、y = 2 和 z = 3。

我想知道,为什么在这句话之后:

y 是 5。语句后面的值是 x = 0、y = 5 和 z = 4。我知道条件运算符的工作方式是它的格式如下:变量 = 条件?真值:假值。

对于条件 y += x-- , y 如何变为 5?我只能看到 2 (2 += 0) 和 3 (2 += 1)(然后 x-- 变为零)作为可能性。任何帮助深表感谢。:)

0 投票
2 回答
3054 浏览

php - PHP 简化一个三元运算

在 PHP 中,有没有办法在不使用if()?

$foo我想知道如果条件得到满足,是否有办法不重新分配给自己。我知道有一种方法可以在 Javascript 中执行此操作(使用 &&,对吗?),但想知道是否有办法在 PHP 中执行此操作。

0 投票
1 回答
38091 浏览

python - python: iif 或 (x ? a : b)

可能重复:
Python 三元运算符

如果 Python 支持 C/C++ 中的 (x ? a : b) 语法,我会写:

我真的不想在这里有一个 if-check 和两个独立的打印(因为这只是上面的一个例子,在我的代码中,它看起来要复杂得多,两次拥有几乎相同的代码真的很愚蠢)。

但是,Python 不支持此运算符或任何类似的运算符 (afaik)。最简单/最干净/最常见的方法是什么?

我搜索了一下,看到有人定义了一个 iif(cond,iftrue,iffalse) 函数,灵感来自 Visual Basic。我想知道我是否真的必须添加该代码以及是否/为什么标准库中没有这样的基本功能。

0 投票
6 回答
42635 浏览

java - Java“?:”运算符?

可能重复:
什么是 Java ?: 运算符,它有什么作用?

嗨,我可以知道什么是 java 吗?

0 投票
6 回答
34292 浏览

python - Django 模板三元运算符

我想知道是否有可以在 Django 模板中使用的三元运算符(条件?真值:假值)。我看到有一个 python (如果条件为真值,否则为假值),但我不确定如何在 Django 模板中使用它来显示由其中一个值给出的 html。有任何想法吗?

0 投票
4 回答
490 浏览

c# - 为什么我必须在三元表达式中对 int 进行类型转换?

可能重复:
条件运算符不能隐式转换?

我遇到了一个特殊的情况,想知道为什么我必须这样做。我正在使用.NET 3.5。

这有效:

这不起作用:

我必须对 -1 进行类型转换:

三元表达式有什么不同?它认为 -1 是一个需要转换为 short 的 int。但为什么?

0 投票
4 回答
586 浏览

c++ - 处理命令行参数

我一直在使用 OpenCV,我看到的一些示例代码使用以下内容来读取文件名。我知道 argc 是传递的命令行参数的数量,而 argv 是参数字符串的向量,但是有人可以澄清以下行的每个部分的作用吗?我试过搜索这个,但没有找到很多结果。谢谢。

谢谢。

0 投票
6 回答
13939 浏览

javascript - 带有多个表达式的 JavaScript 中的三元运算符?

显然,这是无效的。注意“;” appendTo()和之间the_styles=null。我如何将它写在 1 行并且仍然有多个这样的表达式?