从文本文件中读取特定值
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
我有以下 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