Home
> Uncategorized > How to loop for a specified time in C#
How to loop for a specified time in C#
Say that you wanted to do something for one minute, as often as possible; then this bit of code is quite a nice way of doing it;
It would be called like:
foreach(var i in TimeLoop(TimeSpan.FromSeconds(30))
{ // Do something }
/// <summary>
/// A Loop that continues for a given time
/// </summary>
/// <param name=”duration”></param>
/// <returns></returns>
private static IEnumerable TimeLoop(TimeSpan duration)
{
var dtStart = DateTime.Now;
for (; ; )
{
yield return null;
System.Threading.Thread.Sleep(100);
var tsElapsed = DateTime.Now – dtStart;
if (tsElapsed > duration)
{
yield break;
}
}
}
Categories: Uncategorized
Comments (0)
Trackbacks (0)
Leave a comment
Trackback