如何将数组相加并根据输入的数字求和

问题描述 投票:0回答:2
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

大家好。我遇到了一个困境,当我尝试将前两个输入添加在一起时,它给我返回一个错误,我不明白为什么。我只是想将所有这些数组添加在一起,但我希望数组是我可以输入的数字。程序本身有十个文本框和一个显示总和的标签框。我试图理解为什么我什至无法添加两个输入,它只是错误。我必须使用一个数组并将它们添加到一起并且它必须显示。

arrays vb.net sum
2个回答
1
投票

要在需要数字时正确处理用户输入,您应该使用

Int32.TryCast
方法,如果输入不是有效数字,该方法将返回 false

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

现在您可以对所有其他文本框重复相同的逻辑

最后,您可以使用

IEnumerable
扩展
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
© www.soinside.com 2019 - 2024. All rights reserved.