标签: conditional-operator

Python有三元条件运算符吗?

如果Python没有三元条件运算符,是否可以使用其他语言结构模拟一个?

python operators ternary-operator conditional-operator

5591
推荐指数
25
解决办法
180万
查看次数

VB.NET中是否有条件三元运算符?

在Perl(和其他语言)中,条件三元运算符可以表示如下:

my $foo = $bar == $buz ? $cat : $dog;
Run Code Online (Sandbox Code Playgroud)

VB.NET中是否有类似的运算符?

vb.net operators conditional-operator short-circuiting

426
推荐指数
3
解决办法
21万
查看次数

385
推荐指数
13
解决办法
19万
查看次数

如何在Ruby中使用条件运算符(?:)?

如何? :在Ruby中使用条件运算符()?

例如,这是正确的吗?

<% question = question.size > 20 ? question.question.slice(0, 20)+"..." : question.question %>
Run Code Online (Sandbox Code Playgroud)

ruby ternary-operator conditional-operator

294
推荐指数
4
解决办法
33万
查看次数

使用if-else简写时省略第二个表达式

没有别的,我可以写'if else'速记吗?

var x=1;

x==2 ? dosomething() : doNothingButContinueCode();   
Run Code Online (Sandbox Code Playgroud)

我注意到if else了其他的工作(但我不知道为什么或者这是个好主意).

编辑:有些人似乎很困惑为什么我会费心去尝试这个.请放心,这纯粹是出于好奇.我喜欢乱搞JavaScript.

javascript ternary-operator conditional-operator shorthand

279
推荐指数
6
解决办法
63万
查看次数

如何在JavaScript中编写内联IF语句?

如何if在JavaScript中使用内联语句?还有内联else声明吗?

像这样的东西:

var a = 2;
var b = 3;

if(a < b) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

javascript if-statement ternary-operator conditional-operator

268
推荐指数
12
解决办法
46万
查看次数

问号和冒号(?:三元运算符)在objective-c中的含义是什么?

这行代码是什么意思?

label.frame = (inPseudoEditMode) ? kLabelIndentedRect : kLabelRect;
Run Code Online (Sandbox Code Playgroud)

?:迷惑我.

c syntax objective-c operators conditional-operator

266
推荐指数
5
解决办法
31万
查看次数

什么是C的三元运算符的惯用Go?

在C/C++(以及该系列的许多语言)中,根据条件声明和初始化变量的常用习惯用法是使用三元条件运算符:

int index = val > 0 ? val : -val
Run Code Online (Sandbox Code Playgroud)

Go没有条件运算符.实现上述相同代码的最惯用方法是什么?我来到以下解决方案,但它似乎相当冗长

var index int

if val > 0 {
    index = val
} else {
    index = -val
}
Run Code Online (Sandbox Code Playgroud)

还有更好的东西吗?

ternary-operator go conditional-operator

248
推荐指数
10
解决办法
15万
查看次数

三元运算符的速度是if-else块的两倍?

我读的是无处不在三元运营商应该是比快,或至少一样的,它的等效if- else块.

但是,我做了以下测试,发现事实并非如此:

Random r = new Random();
int[] array = new int[20000000];
for(int i = 0; i < array.Length; i++)
{
    array[i] = r.Next(int.MinValue, int.MaxValue);
}
Array.Sort(array);

long value = 0;
DateTime begin = DateTime.UtcNow;

foreach (int i in array)
{
    if (i > 0)
    {
        value += 2;
    }
    else
    {
        value += 3;
    }
    // if-else block above takes on average 85 ms

    // OR I can use a ternary operator:
    // value += …
Run Code Online (Sandbox Code Playgroud)

c# performance conditional-operator

245
推荐指数
6
解决办法
4万
查看次数

可空类型和三元运算符:为什么是`?10:null`禁止?

我刚刚遇到一个奇怪的错误:

private bool GetBoolValue()
{
    //Do some logic and return true or false
}
Run Code Online (Sandbox Code Playgroud)

然后,在另一种方法中,这样的事情:

int? x = GetBoolValue() ? 10 : null;
Run Code Online (Sandbox Code Playgroud)

很简单,如果方法返回true,则为Nullable intx 赋值10 .否则,将null赋给nullable int.但是,编译器抱怨:

错误1无法确定条件表达式的类型,因为int和之间没有隐式转换<null>.

我疯了吗?

.net c# nullable conditional-operator

242
推荐指数
6
解决办法
7万
查看次数