I have a condition in my project where I have to hit an API after every 5 secs.
while(true)
{
// here I have to call the method after every 5 secs
method();
}
I have a condition in my project where I have to hit an API after every 5 secs.
while(true)
{
// here I have to call the method after every 5 secs
method();
}
As I already has been said, use a Timer instead. ie:
void Main()
{
var t = new System.Timers.Timer(1000){Enabled = true};
t.Elapsed += (sender, args) => {
Console.WriteLine(DateTime.Now);
};
}
EDIT: Example of a progress bar counting 30 (30000 millis) seconds.
void Main()
{
Form f = new Form();
ProgressBar pb = new ProgressBar { Maximum=30000, Left=10, Top=10, Width=200 };
Label l = new Label {Top=50,Left=10,Text=""};
var t = new System.Timers.Timer(1000){Enabled = false};
f.Controls.Add( pb );
f.Controls.Add( l );
f.Show();
var start = DateTime.Now;
t.Elapsed += (sender, args) => {
var elapsed = (int)(DateTime.Now - start).TotalMilliseconds;
pb.Value=Math.Min(elapsed, pb.Maximum);
l.Text = (elapsed/1000).ToString();
if (elapsed >= pb.Maximum)
{
t.Enabled = false;
}
};
t.Enabled = true;
}