从文本文件中读取特定值

read specific values from text file

我有以下 visual basic 代码,它是自定义 class 的一部分。我想要一种简单有效的方法(使用很少的计算机资源)将 "value1" 值(100)分配给“_field1”,"value2" 值(8)分配给“_field2”等。有什么好主意吗?谢谢

Private Sub readcrnFile()
    'read files and assing values to the properties
    Dim sr As New IO.StreamReader(_fileName)

    _field1 = sr.ReadToEnd()
    _field2 = sr.ReadToEnd()
    _field3 = sr.ReadToEnd()

    sr.Close()

End Sub

其中 _fileName 是文本文件的完整路径,如下所示:

value1: 100

value2: 8

value3: 80

将您的 _field1_field2_field3 变量更改为 List(Of String)(即命名为 field)并使用其索引访问每个字段 ( field(0)field(1)field(2)).

Dim field As New List(Of String)

Private Sub readcrnFile()
    For Each line In File.ReadAllLines(_filename)
        For i = 1 To 3
            If line.Contains("value" & i) Then
                field.Add(line.Substring(line.IndexOf(":") + 2))
            End If
        Next
    Next
End Sub
Private Sub readcrnFile()
    Dim lines = File.ReadLines(_fileName)
    For Each line In lines
        Dim val = line.Split(":")(1).Trim
        'do something with val?
    Next
End Sub

返回字典很简单:

Private Sub readcrnFile()
    Dim dict = File.ReadLines(_fileName).Select(Function(line) line.Split(":")).ToDictionary(Function(parts) parts(0).Trim, Function(parts) parts(1).Trim)
    Debug.WriteLine(dict("value1")) 'will print 100
End Sub