Concat While looping

本文关键字:looping While Concat | 更新日期: 2023-09-27 18:17:20

我有一个通过xpath解析XML开始和结束日期的方法。

List<string> GetWorkNodeDate = new List<string>();
List<string> GetWorkNodeEstablisment = new List<string>();
XmlNodeList WorkNodeListDate = XmlResponceDoc.SelectNodes("/response/employees/employee/starttime | /response/employees/employee/endtime");
if (WorkNodeListDate != null)
{
    foreach (XmlNode StartDate in WorkNodeListDate)
    {
        string GetStartDate = StartDate.InnerText;
        GetWorkNodeDate.Add(GetStartDate);
    }
}

我遇到的问题是,每次它从许多存储在xml中收集开始和结束日期的循环两次,我想将它们两个值连接起来,然后将它们存储到列表中。我只是想知道实现这一点的最好方法是什么?谢谢你提供的帮助。

Concat While looping

我建议您使用for循环:

for (int i = 0; i < WorkNodeListDate.Count; i = i + 2)
{
    string startAndStoptime = WorkNodeListDate[i].InnerText + "..." + WorkNodeListDate[i + 1];
}

您可以访问启动和停止时间并将它们放在一起。显然,你必须自己把它们存放在某个地方。

迭代器每次上升2,因为这样你将访问另一个starttime。还要注意,它检查i-1是否小于计数。这是因为i+1不是另一个开始时间,而是一个停止时间。因此,当列表的启动时间"用完"时,i的递增必须停止。

结果将是:starttime...stoptime