我正在尝试这样做,以便我可以读取“检查”之后出现的所有行,我尝试使用 StreamReader 或 clicli,而无法移动到下一行,同一行是经常阅读。
下面是一个提取的.txt文件示例,文件中有很多注册表项。
文本文件
Windows Registry Editor Version 5.00
//BEFORE MORE key
[HKEY_CURRENT_USER\SOFTWARE\Thingamahoochie\WinMerge\Settings-Bar1]
"BarID"=dword:00008033
"Visible"=dword:00000000
"XPos"=dword:fffffffe
"YPos"=dword:fffffffe
"Docking"=dword:00000001
"MRUDockID"=dword:00000000
"MRUDockLeftPos"=dword:00000000
"MRUDockTopPos"=dword:00000000
"MRUDockRightPos"=dword:0000070c
"MRUDockBottomPos"=dword:000000f5
"MRUFloatStyle"=dword:00002004
"MRUFloatXPos"=dword:80000000
"MRUFloatYPos"=dword:00000000
//MORE KEY AFTER
代码
private void btnReplace_Click(object sender, EventArgs e)
{
string check = "[HKEY_CURRENT_USER\SOFTWARE\Thingamahoochie\WinMerge\Settings-Bar1]";
foreach (string line in File.ReadLines(_path))
{
if(line == check)
{
//need here read all line after "check"
}
}
}
最佳答案
您可以使用 bool 值来跟踪您是否在正确的位置:
这里我假设一个空行表示该部分的结尾。
bool readingTargetSection = false;
foreach (string line in File.ReadLines(_path))
{
if (readingTargetSection)
{
if (line.Trim() == "") {
// or just break out of the loop
readingTargetSection = false;
}
else {
// read the line
}
}
else if (line == check)
{
readingTargetSection = true;
}
}
关于c# - 在特定行之后读取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40897424/