2012-03-19 198 views
0

我在我的分析文件中有這個邏輯。 用戶可以選擇輸入文件。如果發生錯誤或者用戶在輸入文件中有無效條目,則邏輯檢查並打印錯誤。邏輯與布爾

該方法返回一個布爾成功。取決於所有輸入是否有效,取決於T/F。 如果成功= T,則開始分析輸入的下一步。 現在,這是我的問題。我如何返回一個虛假的` ;

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 
} 

我需要退出,即使有一個輸入錯誤。第一個可能是錯誤的,最後一個可能是一個正確的輸入值。

+0

你能展現真實程序,不是這個僞代碼? – 2012-03-19 18:57:33

+0

退出什麼?一種方法或程序? – 2012-03-19 18:58:35

+0

我不這麼認爲。如果問題不是很清楚,我可以解釋一下 – user575219 2012-03-19 19:00:07

回答

5

您可以添加將更新爲假另一個狀態標誌隨時出現故障:

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;