C#에서 타이머 정보를 0으로 초기화하고 싶다면 Stopwatch 클래스의 Restart() 메서드를 사용하면 됩니다. 이 메서드는 경과 시간을 모두 지우고 타이머를 새로 시작하는 역할을 합니다.
Stopwatch 시작하기
먼저 StartNew() 메서드로 스톱워치를 시작합니다.
Stopwatch s = Stopwatch.StartNew();
타이머를 0으로 초기화하기
이후 Restart() 메서드를 호출하면 경과 시간이 0으로 초기화되며, 동시에 타이머가 다시 측정을 시작합니다.
s.Restart();
전체 예제 코드
아래 코드는 스톱워치를 시작한 뒤 500밀리초(0.5초) 대기하고, Restart()로 초기화한 후 다시 500밀리초를 대기하여 최종 경과 시간을 출력하는 예제입니다.
using System;
using System.Threading;
using System.Diagnostics;
public class Demo {
public static void Main() {
// 스톱워치 시작
Stopwatch s = Stopwatch.StartNew();
Thread.Sleep(500);
// 타이머 초기화 후 재시작
s.Restart();
// 다시 측정 시작
Thread.Sleep(500);
Console.WriteLine(s.Elapsed);
}
}실행 결과
Restart() 호출 이후의 시간만 측정되므로, 결과는 약 0.5초가 출력됩니다.
00:00:00.5004937
정리
Stopwatch.Restart()는 기존의 Reset() 후 Start()를 호출하는 것과 동일한 동작을 한 번에 수행합니다. 따라서 타이머를 초기화하면서 바로 다시 측정을 시작해야 하는 경우에 유용하게 활용할 수 있습니다.