.net 数月来一直在读取数据文件,现在在VB中处理数据时出现NaN错误

.net 数月来一直在读取数据文件,现在在VB中处理数据时出现NaN错误,.net,vb.net,visual-studio-2010,.net,Vb.net,Visual Studio 2010,我已经在这个VB项目上工作了一个多月了,现在仍然卡住了。我需要从数据文件中读取一系列数字,然后求平均值。有0在分隔序列,所以我有2个if语句对其进行排序,但我一直得到这个错误 Dim sum As Integer Dim count As Integer Dim TotalSum As Integer Dim TotalCount As Integer Dim Average As Double Dim TotalAverage As Double

我已经在这个VB项目上工作了一个多月了,现在仍然卡住了。我需要从数据文件中读取一系列数字,然后求平均值。有0在分隔序列,所以我有2个if语句对其进行排序,但我一直得到这个错误

Dim sum As Integer
    Dim count As Integer
    Dim TotalSum As Integer
    Dim TotalCount As Integer
    Dim Average As Double
    Dim TotalAverage As Double
    Dim seriescount As Double
    Dim i As Integer
    Dim intarray(i) As Double
    Dim srRead As IO.StreamReader = New IO.StreamReader("NumberData.txt")


    i = srRead.ReadLine()


     Do While i < count
             If intarray(i) <> 0 Then
            sum += intarray(i)
            seriescount += 1
        Else
            Average = sum / seriescount
            lstNumbers.Items.Add(Average)
            sum = 0
            seriescount = 0
            TotalSum += Average
            TotalCount += 1
        End If
        i = i + 1
    Loop
    TotalAverage = TotalSum / TotalCount
    lstNumbers.Items.Add(TotalAverage) 
作为整数的点心
将计数设置为整数
作为整数的Dim TotalSum
Dim TotalCount为整数
将平均值调整为双精度
总平均值为双倍
暗系列计为双精度
作为整数的Dim i
双精度阵列(i)
Dim srRead As IO.StreamReader=新IO.StreamReader(“NumberData.txt”)
i=srRead.ReadLine()
我数数的时候你做什么
如果在数组(i)中为0,则
总和+=整数(i)
序列计数+=1
其他的
平均值=总和/系列计数
lstNumbers.Items.Add(平均值)
总和=0
序列计数=0
总和+=平均值
总数+=1
如果结束
i=i+1
环
TotalAverage=TotalSum/TotalCount
lstNumbers.Items.Add(总平均值)

请帮助

您的代码包含多个错误。将数据存储到单个整数中,然后使用该整数,就像使用索引一样。我修正了我能做的,但是我建议你在以后的项目中开始使用严格模式,直到你了解类型转换是如何工作的

这应该是可行的,或者至少可以让您清楚地知道代码中的错误

Dim sum, count, TotalSum, TotalCount As Integer
Dim Average, TotalAverage , seriescount as double
Dim srRead As IO.StreamReader = New IO.StreamReader("NumberData.txt")
dim content as string = srRead.ReadLine()

for i as integer = 0 to content.lenght-1
    If content.chars(i) <> "0" Then
        sum += content.chars(i) //cint needed if you use strict
        seriescount += 1
    Else
        TotalSum += sum
        TotalCount += seriescount
        Average = sum / seriescount
        lstNumbers.Items.Add(Average)
        sum = 0
        seriescount = 0
    End If
Loop
TotalAverage = TotalSum / TotalCount
lstNumbers.Items.Add(TotalAverage) 
Dim sum,count,TotalSum,TotalCount为整数
暗淡平均值、总平均值、系列计数为双精度
Dim srRead As IO.StreamReader=新IO.StreamReader(“NumberData.txt”)
将内容设置为字符串=srRead.ReadLine()
对于i,整数=0到content.lenght-1
如果content.chars(i)“0”,则
sum+=content.chars(i)//如果使用严格
序列计数+=1
其他的
总和+=总和
TotalCount+=系列计数
平均值=总和/系列计数
lstNumbers.Items.Add(平均值)
总和=0
序列计数=0
如果结束
环
TotalAverage=TotalSum/TotalCount
lstNumbers.Items.Add(总平均值)

尝试更改为。另外,打开
。您能在文本文件中发布数据示例吗?这将帮助我们帮助你。这是我的数据样本。10 15 20 20 0 1 2 3 4 5 6 7 8 0 10 20 30 40 50 60 0我试过了,但我还是不知道有什么问题。我编程很差。