【发布时间】:2016-05-10 06:22:13
【问题描述】:
您好,在这个问题上需要一些帮助。希望我能描述得很好。
我有一个解析器,它遍历一个文档并找到 sessionID,从中剥离一些标签并将它们放入一个列表中。
while ((line = sr.ReadLine()) != null)
{
Match sID = sessionId.Match(line);
if (sID.Success)
{
String sIDString;
String sid = sID.ToString();
sIDString = Regex.Replace(sid, "<[^>]+>", string.Empty);
sessionIDList.Add(sIDString);
}
}
然后我去思考列表并获取 distinctSessionID。
List<String> distinctSessionID = sessionIDList.Distinct().ToList();
现在我需要重新考虑他的文档并添加与 sessionID 匹配的行并将它们添加到列表中。这是我遇到问题的部分。
我是否需要创建一个二维列表,以便将匹配的日志行添加到相应的 sessionid。
我正在查看此内容,但似乎无法找到一种方法可以复制我的 Distinct 列表,然后将我需要的行添加到新数组中。
从我可以测试的情况来看,这似乎会将值添加到主列表中
List<List<string>> masterLists = new List<List<string>>();
Foreach (string value in distinctSessionID)
{
masterLists[0].Add(value);
}
如何将我需要的行添加到相应的主列表中。说 masterList[0].Add 值为 1,我如何将行添加到 1?
masterList[0][0].add(myLInes);
基本上我想要
Sessionid1
-------> related log line
-------> Related log line
SessionID2
-------> related log line
-------> related log line.
如此等等。我的解析工作正常,只是将值放入第二个字符串列表是问题所在。
谢谢,
【问题讨论】:
标签: c# list multidimensional-array