逻辑与布尔

本文关键字:布尔 | 更新日期: 2023-09-27 18:28:21

我的分析文件中有这个逻辑。用户可以选择输入文件。如果出现错误,或者用户在输入文件中有一个无效条目,那么逻辑将检查并打印错误。

此方法返回bool成功。根据所有输入是否有效,successtakes T/F。如果成功=T,则开始分析输入的下一步。现在是我的问题。如何返回false`;

if (xxx > 100)
{
    errMsg = "Number of xxx should be <= 100";
    swRpt.WriteLine(errTitle + errMsg);
}
// sizing
;
swRpt.WriteLine("   Epsilon");
//Repair
success = Numerical.Check("repair", inputs.repair.ToString(), 
                          out dtester, out errMsg);
if (!success)
{
    swRpt.WriteLine(errTitle + errMsg);
}
success = Numerical.Check("prob", inputs.prob.ToString(), 
                          out dtester, out errMsg);
if (!success)
{
    swRpt.WriteLine(errTitle + errMsg);
}

所以现在终于了

if (success)
{
   //run the analysis method
}
if(!success)
{
   exit 
}

如果哪怕有一个输入错误,我也需要退出。第一个可能是错误的,最后一个可能是正确的输入值。

逻辑与布尔

您可以添加另一个状态标志,该标志将在出现故障时更新为false:

bool status = true;
if (xxx > 100)
{ 
    errMsg = "Number of xxx should be <= 100";
    swRpt.WriteLine(errTitle + errMsg);
    status = false;
}
// sizing
swRpt.WriteLine("   Epsilon");
//Repair
success = Numerical.Check("repair", inputs.repair.ToString(), 
                          out dtester, out errMsg);
if (!success)
{
    swRpt.WriteLine(errTitle + errMsg);
    status = false;
}
success = Numerical.Check("prob", inputs.prob.ToString(), 
                          out dtester, out errMsg);
if (!success)
{
    swRpt.WriteLine(errTitle + errMsg);
    status = false;
}
return status;