将richtextbox vb.net中的所有数字相加

将richtextbox vb.net中的所有数字相加,vb.net,Vb.net,嗨,我有一个richtextbox,每行都有特定的数字,我想把所有的数字加起来。它现在可以工作,但最多只允许4行。如果richtextbox3.text中的行数超过4行,则会出现overflowexception未处理错误。如果richtextbox3.text为4或以下,则可以正常工作 Dim strLines() As String Dim lngLoop As Long Dim lngvalue As Long Dim lngTotal As Long

嗨,我有一个
richtextbox
,每行都有特定的数字,我想把所有的数字加起来。它现在可以工作,但最多只允许4行。如果
richtextbox3.text
中的行数超过4行,则会出现
overflowexception未处理错误。如果
richtextbox3.text
为4或以下,则可以正常工作

    Dim strLines() As String
    Dim lngLoop As Long
    Dim lngvalue As Long
    Dim lngTotal As Long
    strLines = Split(RichTextBox3.Text, vbCrLf)
    lngTotal = 0
    For lngLoop = LBound(strLines) To UBound(strLines)
        lngvalue = Val(strLines(lngLoop))
        lngTotal = lngTotal + lngvalue
    Next
    Dim stringArray As String() = RichTextBox3.Text.Split(ControlChars.Lf)

    Dim sum As Double = 0
    For Each element As String In stringArray
        sum += Convert.ToInt32(element)
    Next




//RichTextbox3.text  
  2000
  1000
  3000
  1000
  4000

分割实际上不起作用,因为换行符有时使用不同的字符

只需尝试使用RichTextBox控件中的Lines属性:

Dim sum As Integer = 0
For Each s As String In RichTextBox3.Lines
  Dim num As Integer = 0
  If Integer.TryParse(s, num) Then
    sum += num
  End If
Next

试试这个:RichTextBox3.Text.Split(New Char(){vbCr,vbLf},StringSplitOptions.removemptyentries)谢谢你清理了它,它现在就像一个符咒一样工作。@Cubuz:记住按左边的绿色勾号,将Lars的帖子标记为已接受的答案。