c#bool功能工作原理

时间:2013-12-21 11:38:31

标签: c# arrays function boolean

有人能解释一下这段代码的工作原理吗?我从我的一位老师那里寻求帮助,他编写了代码,我不知道他对此有何启发。

所以我有一个bool函数,它返回false或true值(显然)。但问题在于,有这行代码:

while (!DrikstPievienot(skaitlis, i, j, numbers));

这是什么意思?代码将工作,而bool函数将继续返回false值?

6 个答案:

答案 0 :(得分:4)

  

代码将工作,而bool函数将继续返回false   值

是的,当DrikstPievienot方法继续返回false时,while循环将继续。

如果方法返回true一次,那么它将会突破while循环。

答案 1 :(得分:2)

“代码将在bool函数继续返回false值时有效吗?”

是的,完全是因为当它返回false时,while循环
条件将继续评估为真。所以你做对了。

有关详细信息,您可以查看此链接。

http://msdn.microsoft.com/en-us/library/2aeyhxcd.aspx

答案 2 :(得分:2)

嗯,这不是一个好例子

while语句后面跟一个分号。底层函数的输入参数似乎是常量(除非传入一些引用类型),因此,如果函数内部没有任何内容可以更改返回值,则此循环将永久执行或永远不会

所以扩展上面的代码

while (false == DrikstPievienot(skaitlis, i, j, numbers));

意味着如果被调用的方法返回false,则while语句的计算结果为

while(false == false);

这是为了永久运行(或直到断电停止一切)

答案 3 :(得分:1)

要了解更多信息,如果您写“while”并按两次“Tab”按钮,则会显示以下代码段:

while (true)
{

}

这意味着只要条件检查为真,while循环就会起作用,你的老师加了“!”如果返回值为false,则仅使while循环函数。

以不同的方式看待它,比如你有

bool isTrue = true;
while (isTrue);

让我们稍微修改一下代码:

bool isTrue = DrikstPievienot(skaitlis, i, j, numbers);
while (isTrue) 

现在你知道在while循环中用你的函数名替换“isTrue”(就像老师写的那样)会产生与在while循环中使用“isTrue”变量相同的结果。 (如果返回值为false,你的老师再次添加“!”以使while循环功能起作用。)

答案 4 :(得分:0)

while循环将继续,直到满足条件。

while循环:

while (!DrikstPievienot(skaitlis, i, j, numbers));

正在调用函数DrikstPievienot,它返回一个bool。但该函数以'!'为前缀不。这意味着循环应该继续,直到它返回true。

答案 5 :(得分:0)

为了更好地理解你可以这样翻译,while not true do s.t.,我想如果你这样看,它会更有意义。