【发布时间】:2017-09-04 13:52:47
【问题描述】:
我有一个场景,我想检查应用程序中单元格的值。当单元格的值达到 0 或 -1 时,我希望测试继续进行。所以我有:
while (!cell.Value.Equals("0") || !cell.Value.Equals("-1"))
{
Console.WriteLine("Value ({1})",cell_value.Value);
Thread.Sleep(15000);
}
不幸的是,当单元格达到 0 时,它似乎并没有“跳出”循环。
Output:
Value (20)
Value (13)
Value (10)
Value (9)
Value (4)
Value (1)
Value (0)
Value (0)
Value (0)
Value (0)
最好用 while / do + while 循环来试试这个,还是用 for 循环更好?
谢谢,
J.
【问题讨论】:
-
您的布尔表达式将始终为真 - 即不存在“0”和“-1”的字符串会导致其为假。
-
我不是说,如果我的单元格不是 0 或我的单元格不是 -1 则睡眠 15 秒.. 所以 20、13、10 等不是 0 或 -1,所以请继续等待直到单元格为 0 或 -1。
-
或者同样明智的是,如果 cell.equals 0 或 -1 然后中断.. 但它只执行一次,所以我希望它循环并继续检查,所以一个 for 循环检查 x 数量次,但我不想将循环限制为 x 的值,因为它可能需要一些时间才能达到 0 或 -1
-
约翰,您的循环明确表示
while string is not "0" OR is not "-1"- 这总是正确的。请检查此处提供的答案以获得正确的实施。
标签: c# for-loop while-loop coded-ui-tests