2016-02-25 83 views
-2

我正在尋找一個簡單而簡潔的方式來做到這一點:如何簡化這個if-else結構?

例子:

if textbox5.text = "1234" then textbox6.text= "10" (1+2+3+4) 

     If TextBox5.TextLength = 1 Then 
     TextBox6.Text = TextBox5.Text.Substring(0, 1) 

    ElseIf TextBox5.TextLength = 2 Then 
     TextBox6.Text = Val(TextBox5.Text.Substring(0, 1)) + Val(TextBox5.Text.Substring(1, 1)) 

    ElseIf TextBox5.TextLength = 3 Then 
     TextBox6.Text = Val(TextBox5.Text.Substring(0, 1)) + Val(TextBox5.Text.Substring(1, 1)) + Val(TextBox5.Text.Substring(2, 1)) 

    ElseIf TextBox5.TextLength = 4 Then 
     TextBox6.Text = Val(TextBox5.Text.Substring(0, 1)) + Val(TextBox5.Text.Substring(1, 1)) + Val(TextBox5.Text.Substring(2, 1)) + 
      Val(TextBox5.Text.Substring(3, 1)) 

    ElseIf TextBox5.TextLength = 5 Then 
     TextBox6.Text = Val(TextBox5.Text.Substring(0, 1)) + Val(TextBox5.Text.Substring(1, 1)) + Val(TextBox5.Text.Substring(2, 1)) + 
      Val(TextBox5.Text.Substring(3, 1)) + Val(TextBox5.Text.Substring(4, 1)) 

    ElseIf TextBox5.TextLength = 6 Then 
     TextBox6.Text = Val(TextBox5.Text.Substring(0, 1)) + Val(TextBox5.Text.Substring(1, 1)) + Val(TextBox5.Text.Substring(2, 1)) + 
      Val(TextBox5.Text.Substring(3, 1)) + Val(TextBox5.Text.Substring(4, 1)) + Val(TextBox5.Text.Substring(5, 1)) 
+1

請閱讀[問]並使用描述問題的標題。 – Plutonix

回答

1

你想要做什麼是抓住每個字符串中的字符,並將其轉換爲一個號並添加它沒有特定的if/elses不同的字符串長度。

Dim i as integer 
For Each c As Char in TextBox5.Text 
    i= i + Integer.Parse(c) 
Next 
TextBox6.Text = i 

我習慣C#,所以語法可能不準確,但這通常是你在找什麼。

+3

只是要回答這個:)。我建議你使用'Integer.Parse()'而不是'Val()'。 –

+0

非常感謝astrosteve。 – Abdelmouttalib