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;
}
}
}

Advertisements
Categories: Uncategorized
  1. No comments yet.
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: