2017-03-03 83 views
-3

剛剛學習C#所以也許這是一個簡單的解決方法,但是我嘗試了很多不同的方法,但最後得到了相同的結果。如何忽略C#中的emptytextboxes#

我有8個文本框,用戶應該輸入一個數字,然後在按下結果按鈕後,這些文本框會被乘以一些數字,然後再加在一起。

但是,如果我將一個文本框留空,這會導致日期時間錯誤。

我怎麼能解決這個問題?

在米以下只能使用文本框2,但很多更

感謝

會有代碼

小碼:

public void Multiply() { 

    int heroT1Might = 100; 
    int inputT120; 
    int inputT150; 

    int chest20 = 20; 
    int chest50 = 50; 
    int chest100 = 100; 
    int chest200 = 200; 
    int chest300 = 300; 
    int chest500 = 500; 
    int chest1K = 1000; 
    int chest10K = 10000; 

    inputT120 = int.TryParse(textBox20.Text); 
    inputT150 = int.TryParse(textBox50.Text); 
    long result = (inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might); 

    resultLabel.Text = result.ToString(); 

} 
+3

'如果(!textbox.Text = 「」)'?請自己做一些研究,這是在互聯網上無處不在 – EpicKip

+2

@EpicKip甚至更好:if(!string.IsNullOrWhitespace(textbox.Text)) – oopbase

+0

@oopbase這就是我用我自己,但這傢伙不知道他在做什麼。也許我們應該保持簡單:) – EpicKip

回答

1

您需要檢查的emptystrings像以下片段:

int i; 
if (!int.TryParse(textBox20, out i)) i = 0; 
+0

他甚至不知道tryparse是幹什麼的......不要鼓勵這個 – EpicKip

+0

@EpicKip好吧會請考慮將來的答案:) –

0
 int heroT1Might = 100; 
     int chest20 = 20; 
     int chest50 = 50; 

     if (string.IsNullOrWhiteSpace(textBox20.Text) || string.IsNullOrWhiteSpace(textBox50.Text)) 
     { 
      // At least one is empty 
      return; 
     } 

     if(!int.TryParse(textBox20.Text) || !int.TryParse(textBox50.Text)) 
     { 
      // At least one is not an integer 
      return; 
     } 

     var inputT120 = Convert.ToInt32(textBox20.Text); 
     var inputT150 = Convert.ToInt32(textBox50.Text); 
     long result = (inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might); 

     resultLabel.Text = result.ToString(); 

或者你可以像這樣或東西:

 int heroT1Might = 100; 
     int chest20 = 20; 
     int chest50 = 50; 

     var inputT120 = int.TryParse(textBox20.Text) ? Convert.ToInt32(textBox20.Text) : 0; 
     var inputT150 = int.TryParse(textBox20.Text) ? Convert.ToInt32(textBox50.Text) : 0; 
     resultLabel.Text = ((inputT120 * chest20 * heroT1Might) + (inputT150 * chest50 * heroT1Might)).ToString(); 
+0

嗯由於某種原因cantget tryparse工作 –