标签: conditional-operator

使用条件?:(三元)运算符的好处

与标准的if-else语句相比,?:运算符有什么好处和缺点.显而易见的是:

有条件的?:运营商

  • 在处理直接价值比较和分配时更简洁,更简洁
  • 似乎不像if/else构造那样灵活

标准If/Else

  • 可以应用于更多情况(例如函数调用)
  • 通常是不必要的长

根据声明,可读性似乎各不相同.在第一次接触到?:运算符后的一段时间内,我花了一些时间来精确地消化它是如何工作的.您是否会建议尽可能使用它,或者坚持if/else,因为我与许多非程序员一起工作?

c# conditional-operator

101
推荐指数
10
解决办法
16万
查看次数

C#和Java的三元运算符之间的区别(?:)

我是C#新手,我遇到了一个问题.处理三元运算符(? :)时,C#和Java之间存在差异.

在以下代码段中,为什么第4行不起作用?编译器显示错误消息there is no implicit conversion between 'int' and 'string'.第5行不起作用.两者List都是对象,不是吗?

int two = 2;
double six = 6.0;
Write(two > six ? two : six); //param: double
Write(two > six ? two : "6"); //param: not object
Write(two > six ? new List<int>() : new List<string>()); //param: not object
Run Code Online (Sandbox Code Playgroud)

但是,相同的代码适用于Java:

int two = 2;
double six = 6.0;
System.out.println(two > six ? two : six); //param: double
System.out.println(two > six ? two : …
Run Code Online (Sandbox Code Playgroud)

c# java ternary-operator conditional-operator

94
推荐指数
5
解决办法
4595
查看次数

CSS"和"和"或"

我遇到了很大的麻烦,因为我需要通过设计一些输入类型来解决问题.我有类似的东西:

.registration_form_right input:not([type="radio")
{
 //Nah.
}
Run Code Online (Sandbox Code Playgroud)

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

我试过了:

.registration_form_right input:not([type="radio" && type="checkbox"])
.registration_form_right input:not([type="radio" && "checkbox"])
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"])
Run Code Online (Sandbox Code Playgroud)

怎么用&&?我需要尽快使用||,我认为使用方法是一样的.

更新:
我仍然不知道如何使用||&&正确.我在W3文档中找不到任何内容.

css css-selectors conditional-operator

92
推荐指数
5
解决办法
11万
查看次数

什么是?:在PHP 5.3中?

可能重复: 什么是PHP运算符"?"和":"被调用,它们做了什么?

来自http://twitto.org/

<?PHP
    require __DIR__.'/c.php';
    if (!is_callable($c = @$_GET['c'] ?: function() { echo 'Woah!'; }))
        throw new Exception('Error');
    $c();
?>
Run Code Online (Sandbox Code Playgroud)

Twitto使用从PHP 5.3开始提供的几个新功能:

  1. DIR不变
  2. 运营商
  3. 匿名功能

  1. 在PHP 5.3 中,数字2对?:做什么?

  2. 另外,匿名函数是什么意思?那不是已经存在了一段时间的东西吗?

php ternary-operator language-construct conditional-operator php-5.3

83
推荐指数
3
解决办法
4万
查看次数

怎么做one-liner if else声明?

我可以在go(golang)中编写一个带有变量赋值的简单if-else语句,就像在php中一样(例如):

$var = ( $a > $b )? $a: $b;
Run Code Online (Sandbox Code Playgroud)

目前我必须使用以下内容:

var c int
if a > b {
    c = a
} else {
    c = b
}
Run Code Online (Sandbox Code Playgroud)

对不起,如果这个控制声明和我无法通过现场和谷歌搜索找到信息,我记不起名字了.:/

if-statement go conditional-operator ternary

79
推荐指数
5
解决办法
11万
查看次数

为什么Java没有条件和条件或运算符的复合赋值版本?(&& =,|| =)

因此,对于在布尔二元运算符,Java有&,|,^,&&||.

让我们简要总结一下他们在这里简要介绍的内容:

对于&,结果值是true两个操作数值是否为true; 否则,结果是false.

对于|,结果值是false两个操作数值是否为false; 否则,结果是true.

对于^,结果值是true操作数值是否不同; 否则,结果是false.

&&操作是一样&,但是评估其右边的操作数只有在其左侧操作数的值true.

||操作是一样|的,但评估其右边的操作数只有在其左侧操作数的值false.

现在,所有5间,那些3有复合赋值版本,分别为|=,&=^=.所以我的问题是显而易见的:为什么不是Java提供&&=||=呢?我发现我需要那些比我更需要更多的&=|=.

而且我不认为"因为它太长"是一个很好的答案,因为Java有>>>=.这个遗漏必须有更好的理由.


15.26分配运营商 …

java conditional-operator short-circuiting assignment-operator compound-assignment

77
推荐指数
4
解决办法
1万
查看次数

如何在MySQL中实现三元条件运算符

我想在MySQL中实现三元条件运算符.我有一个表,其中存在一个字段ID.其值可能为null.我想以id三元条件格式显示如下:

select id = id == null ? 0 : id;
Run Code Online (Sandbox Code Playgroud)

在MySQL中有可能吗?

mysql conditional-operator

77
推荐指数
3
解决办法
4万
查看次数

没有其他Ruby的三元运算符

是否有一个红宝石成语"If do-this"和"do-this"就像一个简单的命令一样?

例如,我现在正在做

object.method ? a.action : nil
Run Code Online (Sandbox Code Playgroud)

将else子句留空,但我觉得这可能是一种更惯用的方法,不需要在最后指定一个nil.(另外,在这种情况下,我觉得占用多行代码会很浪费.

ruby conditional operators conditional-operator

73
推荐指数
3
解决办法
5万
查看次数

Coffeescript中的条件运算符

我真的很喜欢这个:

var value = maxValue > minValue ? minValue : maxValue;
Run Code Online (Sandbox Code Playgroud)

在Coffescript中有同样简洁的东西吗?

conditional-operator coffeescript

71
推荐指数
4
解决办法
5万
查看次数

在VB .NET中有一行

是否有可能在VB .NET中执行一行if语句?如果是这样,怎么样?

vb.net conditional-operator

70
推荐指数
5
解决办法
10万
查看次数