标签: if-statement

IIf()和If之间的性能差异

在Visual Basic中,使用IIf函数而不是If语句时是否存在性能差异?

vb.net iif-function if-statement

97
推荐指数
8
解决办法
6万
查看次数

MySQL IF NOT NULL,然后显示1,否则显示0

我在这里使用一点显示复杂功能.我确信我只是忽略了IF/ELSE功能.

我有2个表我正在查询(客户,地址).第一个有主记录,但第二个可能有也可能没有LEFT JOIN的记录.

如果地址表中没有记录,我想显示零.如果有记录,我想只显示1.

到目前为止我的尝试:

SELECT c.name, COALESCE(a.addressid,0) AS addressexists
FROM customers c
LEFT JOIN addresses a ON c.customerid = a.customerid
WHERE customerid = 123
Run Code Online (Sandbox Code Playgroud)

第一个例子没有这样做.但我可能错误地使用了COALESCE.

如果存在,如何显示0,如果为null,则为1?

mysql if-statement

97
推荐指数
7
解决办法
30万
查看次数

检查环境变量是否存在的良好做法是什么?

我想"FOO"在Python 环境中检查我的环境是否存在变量.为此,我使用的是os标准库.在阅读了图书馆的文档后,我找到了两种方法来实现我的目标:

方法1:

if "FOO" in os.environ:
    pass
Run Code Online (Sandbox Code Playgroud)

方法2:

if os.getenv("FOO") is not None:
    pass
Run Code Online (Sandbox Code Playgroud)

我想知道哪种方法(如果有的话)是好的/首选条件以及为什么.

python if-statement environment-variables python-2.7 python-3.x

96
推荐指数
5
解决办法
8万
查看次数

如何检查字符串是否以多个前缀之一开头?

我有以下if语句:

String newStr4 = strr.split("2012")[0];
if (newStr4.startsWith("Mon")) {
    str4.add(newStr4);
}
Run Code Online (Sandbox Code Playgroud)

我希望它包含startsWith Mon Tues Weds Thurs Friday等.使用字符串时有一个简单的方法吗?我试过||但它没用.

java string if-statement

95
推荐指数
5
解决办法
16万
查看次数

我可以在DOS批处理文件中有一个IF块吗?

在DOS批处理文件中,如果语句体只能有1行?我想我找到()了一个可以用于if块的地方,就像{}在C语言编程语言中使用的那样,但是当我尝试这个时它不会执行语句.也没有错误消息.这是我的代码:

if %GPMANAGER_FOUND%==true(echo GP Manager is up
goto Continue7
)
echo GP Manager is down
:Continue7
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我运行批处理文件时,"GP管理器已启动"或"GP管理器已关闭"都不会被打印.

if-statement batch-file

90
推荐指数
3
解决办法
22万
查看次数

检查javascript是否存在div

检查div是否存在非常简单

if(document.getif(document.getElementById('if')){

}
Run Code Online (Sandbox Code Playgroud)

但是如何检查具有给定id的div是否不存在?

html javascript if-statement

90
推荐指数
4
解决办法
18万
查看次数

使用if语句列出理解

我想比较2个iterables并打印出两个iterables中出现的项目.

>>> a = ('q', 'r')
>>> b = ('q')


# Iterate over a. If y not in b, print y.
# I want to see ['r'] printed.
>>> print([ y if y not in b for y in a])
                              ^
Run Code Online (Sandbox Code Playgroud)

但是它给了我一个无效的语法错误^.这个lamba函数有什么问题?

python if-statement list-comprehension

90
推荐指数
4
解决办法
13万
查看次数

当else完成时,制作if-elif-elif-else语句的最有效方法是什么?

我有一个if-elif-elif-else语句,其中99%的时间是执行else语句:

if something == 'this':
    doThis()
elif something == 'that':
    doThat()
elif something == 'there':
    doThere()
else:
    doThisMostOfTheTime()
Run Code Online (Sandbox Code Playgroud)

这个结构已经完成了很多,但是因为它在碰到其他条件之前就已经超过了每个条件,所以我感觉这不是很有效,更不用说Pythonic了.另一方面,它确实需要知道是否满足任何条件,所以无论如何它应该测试它.

有人知道是否以及如何更有效地完成这项工作,或者这只是最好的方法吗?

python performance if-statement

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

如果声明 - 短路评估与可读性

有时,if语句可能相当复杂或冗长,因此为了便于阅读,最好在之前提取复杂的调用if.

例如:

if (SomeComplicatedFunctionCall() || OtherComplicatedFunctionCall())
{
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

进入这个

bool b1 = SomeComplicatedFunctionCall();
bool b2 = OtherComplicatedFunctionCall();

if (b1 || b2)
{
    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

(提供示例并不是那么糟糕,它仅用于说明...想象其他具有多个参数的调用等)

但是通过这种提取,我失去了短路评估(SCE).

  1. 我每次真的失去了SCE吗?是否存在允许编译器"优化"并仍提供SCE的情况?
  2. 有没有办法保持第二个片段的可读性提高而不会失去SCE?

c++ if-statement side-effects short-circuiting

90
推荐指数
8
解决办法
1万
查看次数

如何在不超过最大值的情况下增加变量?

我正在为学校制作一个简单的视频游戏程序,我已经创建了一种方法,如果调用该方法,玩家将获得15个健康点.我必须保持最高100的健康状态,并且我现在有限的编程能力,我正在做这样的事情.

public void getHealed(){
    if(health <= 85)
        health += 15;
    else if(health == 86)
        health += 14;
    else if(health == 87)
    health += 13; 
}// this would continue so that I would never go over 100
Run Code Online (Sandbox Code Playgroud)

我理解我的语法并不完美,但我的问题是,这可能是一个更好的方法,因为我还必须对损伤点做类似的事情,而不是低于0.

这称为饱和算术.

java if-statement switch-statement saturation-arithmetic

89
推荐指数
6
解决办法
1万
查看次数