使用函数查找均值。 vb.net

时间:2014-12-01 15:45:24

标签: arrays vb.net function mean

我首先想说的是我是vb.net的初学者和一般的编码。

我试图找到数组中数字的平均值。

到目前为止,我的代码就是这个。

 Function getMean() As Double
        Dim DblArray(lstbxInput.Items.Count - 1) As Double
        Dim totalsum As Double
        Dim i As Integer
        For i = 0 To dblArray.Length - 1
            totalsum += DblArray(i)
        Next i
        dblmean = totalsum / DblArray.Length
        Return dblmean

    End Function

最后,我需要dblmean返回dblarray数字的平均值。 这是正确的吗? 显然它是错的,因为我试图在标签上打印它,它总是出现为零。为什么? 代码有问题吗?或者打印出这个值有什么问题吗?

此外,这是用于打印出dblmean

的代码

lblLrgAns.Text = dblmean.ToString

当我点击按钮时会发生这种情况。

2 个答案:

答案 0 :(得分:2)

一种简单的方法是使用位于System.Linq namepsorts中的Enumerable.Average扩展方法(所以请记住添加Import)。

Dim mean As Double = DblArray.Average()

在您的情况下,您需要首先初始化阵列。我猜lstbxInput中的项目已经是双打。

Dim DblArrayAs As Double() = lstbxInput.Items.Cast(Of Double)().ToArray()

答案 1 :(得分:0)

当你这样做时

Dim DblArray(lstbxInput.Items.Count - 1) As Double

所有DblArray项都是0,但您永远不会更改代码中的任何DblArray项,因此dblmean也将为0.您需要指定{的每个项目在计算平均值之前{1}}。

我猜这与您之前的问题有关:putting a list into an array?,所以这里的代码应该是这样的

DblArray