问题标签 [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.
java - 如何检查我的字符串是否等于null?
仅当我的字符串具有有意义的值时,我才想执行某些操作。所以,我尝试了这个。
和这个
和这个
和这个
和这个
在所有情况下,我的程序doSomething
尽管我的字符串是空的。它等于null
。那么,这有什么问题呢?
添加:
我找到了问题的原因。该变量被声明为字符串,因此null
分配给该变量的变量被转换为"null"
! 所以,if (!myString.equals("null"))
工作。
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:null
T1 是 Float 而 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。
c# - 即使在结果返回 true 后,在使用 or 运算符时调用所有 3 个函数
我在我的代码中调用三个函数,我想验证我的一些字段。当我尝试使用下面给出的代码时。它只检查第一个值,直到它得到错误的结果。
我想要这样的东西,如果第一个函数返回 true 那么它也应该调用下一个函数等等。可以使用什么来代替 Or 运算符来执行此操作。
编辑
请评论,使用 ref 变量作为参数之一是否可以使用此方法。
我正在检查验证 onSubmit 事件winform
。
c# - 短路声明评估——这是有保证的吗?[C#]
关于 C# 中的短路语句的快速问题。使用这样的 if 语句:
如果该部分为真,是否保证评估将在“MyArray.Count”部分之后停止?否则我会在第二部分得到一个空异常。
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;
或以不太复杂的形式:
或以示意图形式:
显然我在两个不同的级别上有一个重复的块。是否可以优化此代码以将它们拆分为一个?或类似的东西..
css - CSS“和”和“或”
我遇到了很大的麻烦,因为我需要对某些输入类型进行样式化处理。我有类似的东西:
但我也不想设置复选框的样式。
我试过了:
如何使用&&
?而且我需要尽快使用||
,我认为用法会相同。
更新:我还是
不知道怎么正确使用。我在 W3 文档中找不到任何内容。||
&&
c++ - 关于问题 ?和:在 C++ 中
为什么这个声明:
不等于:
并且等于:
请给我一些理由。为什么 ?
c - 为什么要使用三元运算符而不为“真”条件赋值 (x = x ?: 1)
在 Android 开源 qemu 代码中,我遇到了这行代码:
这只是一种令人困惑的说法:
如果是这样,它会不会更清楚:
有趣的是,这可以与 gcc 一起编译并正常工作,但不能在http://www.comeaucomputing.com/tryitout/上编译。
c# - 在 C# 中使用条件运算符键入结果
我正在尝试使用条件运算符,但我对它认为结果应该是的类型感到困惑。
以下是我试图展示我遇到的问题的示例:
在上面指示的行上,我收到以下编译错误:
无法确定条件表达式的类型,因为“< null >”和“System.DateTime”之间没有隐式转换
我很困惑,因为参数是可以为空的类型(DateTime?)。为什么它需要转换?如果它为空,则使用它,如果它是日期时间,则使用它。
我的印象是:
与以下内容相同:
显然情况并非如此。这背后的原因是什么?
(注意:我知道如果我将“myDateTime”设为可为空的 DateTime,那么它将起作用。但为什么需要它呢?
正如我之前所说,这是一个人为的例子。在我的真实示例中,“myDateTime”是一个不能为空的数据映射值。)
java - if语句中的条件运算符?
我用if
Java 编写了以下语句:
这是在 中编写此类表达式if
以将状态与条件分开的好习惯吗?这个表达式可以简化吗?