2015-04-13 2 views
0
Public Class Form1 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim Sum As Integer 
    Dim input(9) As Integer 

    input(0) = CInt(TextBox1.Text) 
    input(1) = CInt(TextBox2.Text) 
    input(2) = CInt(TextBox3.Text) 
    input(3) = CInt(TextBox4.Text) 
    input(4) = CInt(TextBox5.Text) 
    input(5) = CInt(TextBox6.Text) 
    input(6) = CInt(TextBox7.Text) 
    input(7) = CInt(TextBox8.Text) 
    input(8) = CInt(TextBox9.Text) 
    input(9) = CInt(TextBox10.Text) 

    Sum = input(0) + input(1) 
    lblTotal.Text = (Sum) 
End Sub 
End Class 

Приветствуем всех. У меня есть дилемма, когда я пытаюсь добавить первые два входа вместе, это возвращает мне ошибку, и я не понимаю, почему. Я просто хотел бы добавить все эти массивы вместе, но я хочу, чтобы массивы были числами, которые я могу ввести. В самой программе есть десять текстовых полей и поле ярлыка, в котором должна отображаться сумма. Я пытаюсь понять, почему я даже не могу добавить два входа, это просто ошибки. Я должен использовать массив и добавлять их в целом, и он должен отображаться.Как добавить массивы вместе и сделать сумму из введенных номеров

+2

В чем именно ошибки? – OneFineDay

+0

Какие ошибки вы видите? Откуда их выбрасывают? –

+0

Неверное преобразование из строки "" в тип 'Integer'. – Wes

ответ

1

Для корректной обработки пользовательского ввода, когда вы ожидаете число, следует использовать метод Int32.TryCast, который возвращает ложь, если вход не является допустимым числом

Dim temp as Integer 
if Int32.TryCast(TextBox1.Text, temp) then 
    input(0) = temp 

Теперь вы можете повторить ту же логику для всех остальных Textboxes

Наконец, вы можете использовать IEnumberable расширение Sum суммировать все значения

Sum = input.Sum() 
0

Попробуйте это:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    lblTotal.Text = Enumerable.Range(1, 10).Select(Function(i) CInt(Val(CType(Controls("TextBox" & i), TextBox).Text))).Sum 
End Sub 
Смежные вопросы