2015-08-09 83 views
-1

这是用于检查第一个数字是否大于第二个数字的代码,但它不按预期工作。任何人都可以请建议的理由和纠正我?如果两个文本框是空白的(""C#Textbox textresult不会显示出来

if (txtFirst.Text == "") 
{ 
    txtFirst.Text = "0"; 

    if (txtSecond.Text == "") 
    { 
     txtSecond.Text = "0"; 
     int first = Convert.ToInt32(txtFirst.Text); 
     int second = Convert.ToInt32(txtSecond.Text); 

     if (first < second) 
     { 
      txtResult.Text = "TRUE"; 
     } 
     else 
     { 
      txtResult.Text = "FALSE"; 
     } 
    } 
}  
+2

如果没有更多的背景下,很难说,但有一点我想到是,如果是'txtFirst'或'txtSecond'是无所不能*其他*比'“”',那么'txtResult.Text'永远不会被执行。你有没有尝试过在调试器中的代码?这是一个**非常容易解决的问题。 – Tim

回答

2

您场景唯一的工作。所以这将是更好,如果你不喜欢以下:

if (txtFirst.Text == "") {txtFirst.Text = "0";} 
if (txtSecond.Text == ""){txtSecond.Text = "0";} 
// it is a good to check for null in this scenario since 
// Convert.ToInt32() is not capable of handling null 
int first = Convert.ToInt32(txtFirst.Text); 
int second = Convert.ToInt32(txtSecond.Text); 
if (first < second){txtResult.Text = "TRUE";} 
else{txtResult.Text = "FALSE";}