我有两种方法,A
和B
。只有在两个方法成功后我才必须插入到数据库中。那么这是 C# 中的有效条件语句吗?
if (A() && B())
{
//insert into db
}
方法执行后A
我必须执行B
。如果两者都成功,我必须进行插入。
我有两种方法,A
和B
。只有在两个方法成功后我才必须插入到数据库中。那么这是 C# 中的有效条件语句吗?
if (A() && B())
{
//insert into db
}
方法执行后A
我必须执行B
。如果两者都成功,我必须进行插入。
是的,它是有效的。但请注意,只有在返回 trueB
时才会执行。A()
正如他们所说,如果 A() 返回 false,则 B() 不会执行。如果您希望执行这两个功能,我建议您执行以下操作:
bool resultA = A();
bool resultB = B();
if(resultA && resultB)
{
//insert into db
}
其他人已经回答了您的问题,但只是为了澄清一下,因为这里有一些稍微误导性的帖子......
操作&&
员短路
if (false && Foo()) // Foo() is not run
操作&
员没有短路
if (false & Foo()) // Foo() is run
如果您的函数具有您想要确保的副作用,请使用后者。
在两个函数中设置 fa=1 fd=1。
然后检查
if(fa==fb==1) { //做 }
它应该是
if(A())
{
if(B())
{
//insert into db
}
}
这将确保两个函数都被执行。