问题标签 [conditional-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 投票
27 回答
557387 浏览

java - 如何检查我的字符串是否等于null?

仅当我的字符串具有有意义的值时,我才想执行某些操作。所以,我尝试了这个。

和这个

和这个

和这个

和这个

在所有情况下,我的程序doSomething尽管我的字符串是空的。它等于null。那么,这有什么问题呢?

添加:

我找到了问题的原因。该变量被声明为字符串,因此null分配给该变量的变量被转换为"null"! 所以,if (!myString.equals("null"))工作。

0 投票
5 回答
13482 浏览

java - Java条件运算符?:结果类型

我对条件运算符有点困惑。考虑以下两行:

为什么f1变成null,第二条语句抛出NullPointerException?

Langspec-3.0 第 15.25 段说:

否则,第二个和第三个操作数分别是 S1 和 S2 类型。令 T1 为对 S1 应用装箱转换产生的类型,令 T2 为对 S2 应用装箱转换产生的类型。条件表达式的类型是将捕获转换 (§5.1.10) 应用于 lub(T1, T2) (§15.12.2.7) 的结果。

所以对于false?1.0f:nullT1 是 Fl​​oat 而 T2 是 null 类型。但是结果是lub(T1,T2)什么?这第 15.12.2.7 段有点过分了......

顺便说一句,我在 Windows 上使用 1.6.0_18。

PS:我知道这Float f2 = false? (Float) 1.0f: false? (Float) 1.0f: null;不会抛出 NPE。

0 投票
5 回答
212 浏览

c# - 即使在结果返回 true 后,在使用 or 运算符时调用所有 3 个函数

我在我的代码中调用三个函数,我想验证我的一些字段。当我尝试使用下面给出的代码时。它只检查第一个值,直到它得到错误的结果。

我想要这样的东西,如果第一个函数返回 true 那么它也应该调用下一个函数等等。可以使用什么来代替 Or 运算符来执行此操作。

编辑

请评论,使用 ref 变量作为参数之一是否可以使用此方法。

我正在检查验证 onSubmit 事件winform

0 投票
6 回答
9844 浏览

c# - 短路声明评估——这是有保证的吗?[C#]

关于 C# 中的短路语句的快速问题。使用这样的 if 语句:

如果该部分为真,是否保证评估将在“MyArray.Count”部分之后停止?否则我会在第二部分得到一个空异常。

0 投票
4 回答
437 浏览

c# - 优化 C# 中的条件运算符分支

返回 this.AllowChooseAny.Value ?radioSpecific.Checked ? UserManager.CurrentUser.IsClient ?txtSubject.Text:subjectDropDownList.SelectedItem.Text:String.Empty:UserManager.CurrentUser.IsClient?txtSubject.Text:subjectDropDownList.SelectedItem.Text;

或以不太复杂的形式:

或以示意图形式:

显然我在两个不同的级别上有一个重复的块。是否可以优化此代码以将它们拆分为一个?或类似的东西..

0 投票
8 回答
199180 浏览

css - CSS“和”和“或”

我遇到了很大的麻烦,因为我需要对某些输入类型进行样式化处理。我有类似的东西:

但我也不想设置复选框的样式。

我试过了:

如何使用&&?而且我需要尽快使用||,我认为用法会相同。

更新:我还是
不知道怎么正确使用。我在 W3 文档中找不到任何内容。||&&

0 投票
3 回答
420 浏览

c++ - 关于问题 ?和:在 C++ 中

为什么这个声明:

不等于:

并且等于:

请给我一些理由。为什么 ?

0 投票
7 回答
8513 浏览

c - 为什么要使用三元运算符而不为“真”条件赋值 (x = x ?: 1)

在 Android 开源 qemu 代码中,我遇到了这行代码:

这只是一种令人困惑的说法:

如果是这样,它会不会更清楚:

有趣的是,这可以与 gcc 一起编译并正常工作,但不能在http://www.comeaucomputing.com/tryitout/上编译。

0 投票
5 回答
1301 浏览

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

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

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

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

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

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

我的印象是:

与以下内容相同:

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

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

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

0 投票
4 回答
1985 浏览

java - if语句中的条件运算符?

我用ifJava 编写了以下语句:

这是在 中编写此类表达式if以将状态与条件分开的好习惯吗?这个表达式可以简化吗?