4

我有两种方法,AB。只有在两个方法成功后我才必须插入到数据库中。那么这是 C# 中的有效条件语句吗?

if (A() && B())
{
    //insert into db
}

方法执行后A我必须执行B。如果两者都成功,我必须进行插入。

4

6 回答 6

8

是的,它是有效的。但请注意,只有在返回 trueB时才会执行。A()

于 2010-05-12T11:08:51.350 回答
2
于 2010-05-12T11:47:36.343 回答
0

正如他们所说,如果 A() 返回 false,则 B() 不会执行。如果您希望执行这两个功能,我建议您执行以下操作:

bool resultA = A();
bool resultB = B();
if(resultA && resultB)
{
    //insert into db
}
于 2010-05-12T11:51:45.850 回答
0

其他人已经回答了您的问题,但只是为了澄清一下,因为这里有一些稍微误导性的帖子......

操作&&员短路

if (false && Foo()) // Foo() is not run

操作&没有短路

if (false & Foo()) // Foo() is run

如果您的函数具有您想要确保的副作用,请使用后者。

于 2010-05-12T12:17:30.827 回答
-2

在两个函数中设置 fa=1 fd=1。

然后检查

if(fa==fb==1) { //做 }

于 2010-05-12T12:01:27.743 回答
-7

它应该是

if(A()) 
{ 
   if(B())
   {
    //insert into db 
   }
} 

这将确保两个函数都被执行。

于 2010-05-12T11:11:50.733 回答