ternary-operator相关内容

三元运算符中的多个条件安全吗?

我已经看到建议说三元运算符一定不能嵌套。 我已经测试了下面的代码,它可以正常工作。我的问题是,我以前从未见过像这样使用三元运算符。因此,这是否和 if 中所使用的方法一样可靠,还是以后会出现这样的问题并咬我(不是术语或可读性,而是失败)。 $ rule1 = true; $ rule2 = false; $ rule3 = true; $ res =((($ rule ..
发布时间:2020-10-08 00:14:23 PHP

Scala程序中的三元运算符用法

我有一个需要应用过滤器的对象数组。 valfilteredList = list.filter {l => ; (pid ==“”)? true:l.ProviderId.toUpperCase()。contains(pid.toUpperCase()))} 此Scala编译器未编译代码。我收到像 1)值这样的错误?不是布尔值 的成员2)类型toUpperCase不 ..
发布时间:2020-10-08 00:13:17 其他开发

有条件地分配PHP值

在非常常见的情况下,根据表达式的结果为变量赋值,我是三元运算符的爱好者: $ foo = $ bar? $ a:b; 但是,如果$ bar是一个相对昂贵的操作,我想将$ bar的结果赋给$ foo如果结果为真,则效率低下: $ foo = SomeClass :: bigQuery()吗? SomeClass :: bigQuery():new EmptySet ..
发布时间:2020-10-08 00:09:47 PHP

错误?如果您通过三元运算符将值分配给可为空的整数,则该值不能为null

dim val1是否为整数? = If(5> 2,Nothing,43) ’val1 = 0 dim val1作为整数吗? = If(5> 2,什么也没有,) 'val1 =没有 什么给? 解决方案 问题是没事的工作方式不同于C#中的 null 。在值类型的上下文中使用 Nothing 时(例如 Integer ),它表示该类型的默认值。在这种情况下,该值为0。 ..
发布时间:2020-10-08 00:09:35 其他开发

三元运算符和类型转换的混淆

我遇到了这个问题- 为什么结果: 1? (int *)0:(void *)0 与以下结果不同: 1吗? (int *)0:(void *)1 有何不同?应该是 0 或(int *)0 。 如何检查结果? 在哪里可以使用这种类型的表达式? 解决方案 唯一的区别在于类型:第一个一个返回一个 int * ,第二个返回一个 void * 。 根据C11标准,第 ..
发布时间:2020-10-08 00:09:29 其他开发

记住三元运算符语法

有人记得标准的三元语法吗? 具体来说,“?”或“:”排在最前面。这些年来,我一直在退缩。 解决方案 您要检查的条件有点像一个问题,所以这个问题标记优先。 x> 0? 1:0 将此语句视为三个英语句子:“ x是否大于0?然后1否则,0。”语句中的每个子句都有一个句子。 谓词: x> 0? / * x是否大于0? * / “ ..
发布时间:2020-10-08 00:09:27 其他开发

使用三元语法将参数设置为DBNull.Value会出错吗?

我有以下代码来设置一个参数,该参数将在INSERT语句中用于设置SQL Server数据库中的VARCHAR列。我的值对象(名为ilo)具有一个名为Description的属性,该属性被初始化为String.Empty,然后被设置为从XML读取的某个值,或者如果该XML元素为空,则保持为String.Empty。 > 因此,在插入数据库时​​,如果该属性仍设置为String.Empty,我希 ..
发布时间:2020-10-08 00:08:18 C#/.NET

三元运算符,使用赋值时语法错误

下面的下面3行代码编译OK。 (请注意,该代码是“人工Java编码”的一个示例,因此在专业编写的代码中不会出现。) int x,y; 布尔值b = true; x = b? y = 1:2; //编译确定。 如果我现在更改上面第3行中的代码,则看起来像下面的代码行 //更改“ y分配”的位置,现在代码不会t编译。 x = b? 1:y = 2; ..
发布时间:2020-10-08 00:04:59 Java开发

C#三元运算符中的调用函数

为什么此代码无效?相当确定它在C / C ++中是合法的 伪代码: String s = Console.ReadLine(); int x = 0; Int32.TryParse(s,out x)? Console.WriteLine(“ Foo”):Console.WriteLine(“ bar”); 解决方案 三元运算符用于返回值和那些值 如果 ..
发布时间:2020-10-08 00:04:55 C#/.NET

VB.NET是否会“ If”?操作员原因拳击?

我们在VB / VB.NET中工作过的人看到了类似于以下可恶的代码: 昏暗的名字因为String = IIf(obj Nothing,“”,obj.Name) 我说“憎恶”出于以下三个简单原因: IIf 是函数,评估所有参数;因此,如果在上述调用中 obj 无效,则会抛出 NullReferenceException 。对于习惯于使用C#之类的短路三元运算 ..
发布时间:2020-10-08 00:04:51 其他开发

三元运算符:不好还是好习惯?

我正在寻找不使用/不使用它的原因以及新颖的想法(在使用和替换中)。 复制: 到三元组或不到三元组 相关(但未解决所提出的问题): 解决方案 为了便于阅读,我只在适合80个字符的行中使用三元。 ..
发布时间:2020-10-08 00:04:45 其他开发

Python三元运算符行为

当我评估以下操作时 如果为True,则为0,否则为1;如果为False,则为1,否则为1 它的值为0,但是当我使用方括号 (如果为True则为0则为0)+(如果为False则为1则为0) 它正确地计算为1,这是第一种情况。 解决方案 如果为True,则为0;否则为1;如果为False,则为1; 实际上是: (0)如果 ..
发布时间:2020-10-08 00:03:37 Python