Google没有帮助到我,Stack Overflow也没有。
var timer = new System.Timers.Timer(5000);
timer.Elapsed += BreakEvent;
timer.Enabled = true;
Parallel.ForEach<string>(fileNames, (fileName, state) =>
{
try
{
ProcessFile(fileName);
}
catch (Exception)
{
}
finally
{
}
});
我希望在5秒钟后(在
BreakEvent
中)中断这个ForEach
循环。当然,它可以是一个按钮或其他任何东西。
我知道如何通过(在我的示例中)来中断。
state.Stop();
但它仍然在循环内部。
这是否可能呢?
编辑:
对于所有搜索其他方式的人,我刚想到:
var timer = new System.Timers.Timer(5000);
timer.Elapsed += new System.Timers.ElapsedEventHandler((obj, args) =>
{
state.Stop();
});
timer.Enabled = true;