我有两种方法,A
和B
。只有在两个方法成功之后我才能插入到数据库中。那么这是C#中的有效条件语句吗?
if (A() && B())
{
//insert into db
}
执行方法A
后,我必须执行B
。如果两者都成功,我必须进行插入。
答案 0 :(得分:8)
是的,它是有效的。但请注意,只有B
返回true才会执行A()
。
答案 1 :(得分:2)
条件将按照出现的顺序进行评估,并且仅在其测试仍然相关时进行评估。也就是说,如果A()失败,则没有理由测试B()。
答案 2 :(得分:0)
正如他们所说,如果A()返回false,则B()不会执行。 如果你想要执行这两个函数我建议像:
bool resultA = A();
bool resultB = B();
if(resultA && resultB)
{
//insert into db
}
答案 3 :(得分:0)
你的问题已经被其他人回答,但只是为了澄清,因为这里有一些有点误导性的帖子......
&&
运营商正在短路
if (false && Foo()) // Foo() is not run
&
运算符不短路
if (false & Foo()) // Foo() is run
如果你的功能有你想要确保的副作用,请使用后者。
答案 4 :(得分:-2)
在两个函数中设置fa = 1 fd = 1。
然后检查
如果(FA FB == == 1) { //做 }
答案 5 :(得分:-7)
应该是
if(A())
{
if(B())
{
//insert into db
}
}
这将使两个函数都被执行。