0

在 VB2010 中,我需要处理一个包含多行的文本文件,如下所示:

学生姓名, 65, 42, 71, 55
学生姓名 2、40、42、54、45
等等

我需要处理文件,发现:

  1. 每个用户收到的年终总成绩和等级
  2. 得最高分的学生
  3. 平均总分
  4. 达到用户可以指定的特定成绩的学生列表。

等级:70% - 100% = D,60% - 70% = P1,50% - 60% = P2,40% - 50% = P3,0% - 39% = F

我正在尝试将数据结构放入公共类

Structure Student
    Dim name as String
    Dim Paper1 as String
    Dim Paper2 as String
    Dim Paper3 as String
    DIm Paper4 as String.
End Structure

'I am also trying to to do an array
Dim Students() as Student

'Open txt File

Dim FileStreamReader As IO.StreamReader
FileStreamReader = IO.File.OpenText("c:/textfile.txt")

一次读取一行文件

While not fileStreamReader.EndofStream
    Dim linein as String
    linein = FileStreamReader.readline()

我有两个主要问题:

  1. 我在正确的轨道上吗?如果是这样,
  2. 有什么想法可以从 txt 文件中处理信息吗?我已经尝试了好几天,但我不断收到错误!
4

1 回答 1

1

您应该使用专用的 csv 解析器来解析文件中的行。不要使用正则表达式。不要使用 String.Split()。不要尝试自己编写。您可以使用 Microsoft.VisualBasic.TextFieldParser 类。

您不应该使用具有可更改字段的结构。将其设为类而不是结构,或将所有字段设为只读(无公共 Set 选项)并且仅更改构造函数中的字段。

于 2013-03-25T21:33:40.057 回答