【发布时间】:2014-12-02 20:56:14
【问题描述】:
我正在使用 StreamReader 每行读取一个文件,并将每一行作为一个项目添加到列表中。
文件中有两个部分,“MMap”和“missionMMap”。
有没有办法在missionMMap 之后拆分列表并将其附加到另一个列表中? 另一种方法是直接在“missionMMap”之后添加任何行以直接列出missionMMap。
我的代码:
List<string> MMap = new List<string>();
List<string> missionMMap = new List<string>();
public void readFile(string path)
{
try
{
MMap.Clear();
using (StreamReader readFile = new StreamReader(path))
{
string line;
while ((line = readFile.ReadLine()) != null)
{
if (!string.IsNullOrEmpty(line))
{
MMap.Add(line);
}
}
}
}
catch (Exception e) { MessageBox.Show(e.Message, "Error!"); }
}
文件如下所示:
[MMap] SpeciesIdx
1 15
[missionMMap] SpeciesIdx
1 15
提前致谢。 PS:如有语法错误,我深表歉意。
【问题讨论】:
-
各部分如何分隔?它只是与
missionMMap的一行,然后是该列表的项目吗? -
当该行等于您的值时使用一个布尔变量使其为真。如果值为 true,则开始添加到另一个列表中。
-
不同的部分是通过在第一行包含第一个的 MMap 和第二行的missionMMap 来定义的,其余的只是数字。我尝试使用布尔值,但是
while语句会重置布尔值,因为该部分的其余部分是数字。 -
Karim帮助其他人在这里执行以下操作1显示您正在解析/读取的文件的单行示例`2解释什么是分隔符,您也可以使用一个列表保存数据基于正确拆分行你熟悉 Split函数 -
我编辑了问题,感谢您的提示 DJ KRAZE,不,我不熟悉拆分功能。附带说明:我做错了什么让我的问题收到负面反馈?
标签: c# .net visual-studio-2010