这对我来说是个大问题,因为我无法摆脱循环。我只在listDataReport.Count
进入了1.但是在foreach
从beginDate
(例如:10/01/2010)到endDate
(今天),我的文件写入次数为日期从开始到结束。
我想要的只是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文件无关紧要。
答案 0 :(得分:3)
使用关键字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