在组合条件下对相同表达的评价不同

时间:2016-05-07 09:45:54

标签: c# if-statement expression conditional-statements

根据处理条件覆盖的一些来源,一次发生的情况计数一次,并且覆盖范围需要2 ^ n个测试用例来测试所有组合。 那么,这个C#代码呢?

if (A && B()) && (A || C)

bool A= true;

   bool B() {
    A=false; return true;}

A在第一个子表达式中被评估为true,但在评估B时被更改为false,因此在第二个表达式中A将为false。因此,评估中会产生真假结果。 那么怎么能说条件是相同的,因此算作1?

如何处理?

0 个答案:

没有答案