【问题标题】:Read and split line by line in text file在文本文件中逐行读取和拆分
【发布时间】:2023-02-10 15:35:23
【问题描述】:
我正在尝试从我的应用程序资源中读取一个文本文件。对于此文本文件中的每一行,我想在逗号前后拆分文本。
txt 文件中的每一行如下所示:
-125.325235,4845636
我的问题是函数循环并且不会结束不断重复每个语句
For Each Line As String In My.Resources.CompanyBases
MsgBox(My.Resources.CompanyBases.Split(","c).First)
MsgBox(My.Resources.CompanyBases.Split(","c).Last)
Next
【问题讨论】:
标签:
vb.net
foreach
reader
【解决方案1】:
首先,永远不要像那样一遍又一遍地获取资源。这些属性不是“实时”的。每次获取属性时,都必须从程序集中提取资源。如果您需要多次使用该值,请获取该属性一次并将其分配给一个变量,然后一遍又一遍地使用该变量。
其次,你没有得到一个文件。资源的全部意义在于它们不是不同的文件,而是编译到程序集中的数据。它只是一个 String 和其他任何一样。您通常如何在换行符处拆分 String?
最后,您有一个带有循环控制变量Line 的For Each 循环,但您从不在循环内使用该变量。它应该是Line,你在循环内拆分,而不是包含所有行的资源属性。
For Each line In My.Resources.CompanyBases.Split({Environment.NewLine}, StringSplitOptions.None)
Dim fields = line.Split(","c)
Debug.WriteLine(fields(0))
Debug.WriteLine(fields(1))
Next
请注意,如果您使用的是 .NET Core,Split 将接受 String 以及 String 数组。