2d数组(文本文件)中多行的元素总和(4)

时间:2012-07-30 21:14:01

标签: vb.net

我有一个文本文件:

落后,Lahaye,F,7,11.25

双城记,狄更斯,F,100,8.24

用丝带挂一千棵树,Rinaldi,F,30,16.79

Saffy的天使,McKay,F,20,8.22

每只小鸟,唱歌,诡计,F,10,7.70

住在基督里,默里,N,3,12.20

圣经预言,Lahaye和Hindson,N,5,14.95

迷人,埃尔德雷奇,N,12,16

在基督徒生活中深入成长,Swindoll,N,11,19.95

治愈心脏的祷告,Virkler,N,4,12.00

格雷斯,弗格森,N,3,11.95

成长

善良美丽的上帝,史密斯,N,7,11.75

黑暗胜利,安德森,N,12,16

每行的最后一个元素是价格。我想加上所有的价格。我一直在寻找这么多个小时,找不到回答我问题的事情。这看起来很容易,但我无法弄清楚!请帮忙。顺便说一句,这个列表必然会改变(添加行,删除行,更改行),所以如果可以的话,请不要具体,而是让代码保持开放的变化。感谢!!!

正因为如此,你可以看到我的pooooorrrr工作,这就是我所拥有的(我想我已经删除了我的代码并在几个小时后重写了不同的方式。):

    Dim Inv() As String = IO.File.ReadAllLines("Books.txt")

    Dim t As Integer = Inv.Count - 1
    Dim a As Integer = 0 to t
    Dim sumtotal As String = sumtotal + Inv(4)

也 对于每一行,都有“F”或“N”。如何将所有F和所有N加起来。我是通过if语句来做的吗?

1 个答案:

答案 0 :(得分:0)

首先,你最好使用Double作为你的类型而不是String。其次,观察我如何在每一行上使用Split函数,将其最后一个元素转换为double,并将其添加到total。是的,使用If语句是如何确定是否要加上F的计数或N的计数。

    Dim lstAllLines As List(Of String) = IO.File.ReadAllLines("Books.txt").ToList()

    Dim dblTotal As Double = 0.0
    Dim intCountOfF As Integer = 0
    Dim intCountOfN As Integer = 0

    For Each strLine As String In lstAllLines

        Dim lstCells As List(Of String) = strLine.Split(",").ToList()

        dblTotal += CDbl(lstCells(3))

        If lstCells(2) = "F" Then

            intCountOfF += 1

        Else

            intCountOfN += 1

        End If

    Next