我有两种类似的方法来解析行。第一种方法
public IList<LasLine> GetLasLines(string section)
{
var lasLines = new List<LasLine>();
bool startParse = false; // Секція знайдена і почати парсити її
foreach(var line in _lines)
{
if(GetSectionName(line).Equals(section) && !startParse)
{
startParse = true;
}
else
{
if(IsCommentLine(line)) continue;
if(IsBeginSection(line)) break;
LasLine lasLine;
if(!TryParseLasLine(line, out lasLine)) continue;
lasLines.Add(lasLine);
}
}
return lasLines;
}
第二个
public IList<AsciiLogDataLine> GetAsciiLogData()
{
var asciiLogData = new List<AsciiLogDataLine>();
bool startParse = false;
foreach(var line in _lines)
{
if(GetSectionName(line).Equals(LasSectionName.ASCIISection) && !startParse)
{
startParse = true;
}
else
{
if(IsCommentLine(line)) continue;
AsciiLogDataLine asciiLogDataLine;
if(!TryParseAsciiLogDataLine(line, out asciiLogDataLine)) continue; asciiLogData.Add(asciiLogDataLine);
}
}
return asciiLogData;
}
是否有可能实现这种模式?