如何避免多次 运行 相同的循环?

How to avoid running the same loop multiple times?

这对我来说是一个大问题,因为我无法摆脱困境。我只进入 listDataReport.Count 1。但是在 beginDate(例如:10/01/2010)到 endDate(今天)的 foreach 中,我的文件写入次数为date从头到尾都在经历

我想要的只是在listDataReport

中的特定日期写一篇
listDataReport = blReports.GetDataClientes(beginDate, endDate);

string dateSelected = string.Empty;    
while (beginDate < endDate)
{
    foreach (var item in listDataReport)
    {
        FileCreated.WriteLog(item.NmbrCliLeg + "|" + item.NmbCliProf + "|" + item.Namsur + "|" + item.Mail, false);
        dateSelected= item.DateUp;
    }
    beginDate = beginDate.AddDays(1);
}
log.WriteLog("Clients up date: " + dateSelected + ":" + listDataReport.Count);    

它会重复 beginDate- endDate 之间的天数。如果我在 listDataReport 上只有一个客户,那会发生。

如您所见,FileCreated.WriteLog创建了一个 .txt 来写入数据客户端,这就是问题所在。在创建 .log 文件的 log.WriteLog 中没有问题。我将展示我从这两个文件中得到的内容。

在日志中:

---***--- Execution Initiated: 27/03/2015 09:44:40 a.m.
27/03/2015 09:44:50 a.m. - Clients up date 03/19/2015: 1
===***=== Execution Ended: 03/27/2015 09:44:50 a.m.

但现在在 .txt 文件中 (Datefile03272015.txt) :

0123456789|7976967|NAME SURNAME|somemail@mail.com
0123456789|7976967|NAME SURNAME|somemail@mail.com
0123456789|7976967|NAME SURNAME|somemail@mail.com
0123456789|7976967|NAME SURNAME|somemail@mail.com

所有作业每天运行并每天创建一个 .txt 文件。这里的.log文件无所谓

使用关键字 break 跳出循环:

https://msdn.microsoft.com/en-us/library/ttw7t8t6.aspx

int[] list = [1, 2, 3, 4, 5, 6, 7, 8];

foreach(int item in list)
{
    Console.WriteLine(item);
    if (item == 5)
        break;
}

输出:

1
2
3
4
5