VB.NET读取应用资源文本文件时循环无限重复的问题
循环无法终止及文本分割问题修复
问题根源
- 直接用
For Each遍历My.Resources.CompanyBases时,它是一整个完整字符串,这种写法会逐个遍历字符串里的每个字符,而非按行遍历,这就是循环停不下来的核心原因。 - 循环体里完全没用到当前行变量
Line,每次都直接对整个资源文本做分割操作,逻辑完全偏离需求。
正确代码实现
先把资源文本按行分割成集合,再逐行处理逗号分割:
' 先将资源文本按行分割,获取每行的集合 Dim lines As String() = My.Resources.CompanyBases.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries) ' 遍历每一行 For Each line As String In lines ' 对当前行按逗号分割 Dim parts As String() = line.Split(","c) If parts.Length = 2 Then ' 确保分割结果符合预期格式 MsgBox(parts(0)) ' 前半部分 MsgBox(parts(1)) ' 后半部分 End If Next
额外说明
- 使用
Environment.NewLine适配不同系统的换行符,避免因换行格式差异导致分割错误 - 增加
StringSplitOptions.RemoveEmptyEntries可以过滤掉可能存在的空行 - 加入长度判断
parts.Length = 2,防止因行格式错误导致的数组越界问题
内容的提问来源于stack exchange,提问作者AirFlow
相关产品推荐
相关产品推荐

