C#에서 타이머 재설정
이 기사에서는 C# 프로그래밍 언어를 사용하여 타이머를 재설정하는 방법에 대해 설명합니다.
C#
의 System.Timer
클래스
C#의 이 System.Timer
클래스는 일정 시간이 경과하면 코드 블록을 실행하는 메커니즘을 제공하며 이 코드는 여러 번 수행될 수 있습니다.
Timer.AutoReset
을 사용하여 C#
에서 타이머 재설정
타이머의 간격
이 종료되면 AutoReset
을 통해 타이머가 자체적으로 재설정되고 0
부터 다시 계산을 시작할 수 있습니다. enabled 속성이 true
로 설정된 경우 카운트다운이 시작되지만 false
로 설정된 경우 Start()
메서드를 호출하여 타이머를 다시 시작해야 합니다.
프로그램의 타이머 기능이 완료되면 프로그램을 종료하고 해당 리소스를 다른 컨텍스트에서 사용할 수 있도록 해야 합니다. 다시 말해, Timer.AutoReset
은 타이머가 Elapsed
이벤트를 한 번만 false
또는 여러 번 true
발생시켜야 하는지를 나타내는 부울 값을 읽거나 씁니다.
AutoReset
이벤트의 구문은 다음과 같습니다.
public bool AutoReset { get; set; }
이러한 종류의 이벤트는 다양한 용도로 사용될 수 있지만 특히 웹 애플리케이션에서 연결 상태를 확인하는 용도로 매우 적합합니다. 비디오 게임 중에 사용하는 스톱워치는 또 다른 잠재적 용도입니다.
다음 예는 2초
가 경과하면 트리거되는 Elapsed 이벤트로 Timer
를 구성하는 방법을 보여줍니다. 그러면 콘솔이 관련 이벤트 핸들러의 출력으로 "My name is DelftStack"
과 함께 표시됩니다.
-
시작하려면 다음 라이브러리를 가져와야 합니다.
using System; using System.Timers;
-
Shanitimer
클래스 내에서t
라고 하는 타이머 변수를 선언하면 모든 메소드에서 사용할 수 있습니다.private static System.Timers.Timer t;
-
기본 제공되는 클래스를 따라 타이머를 설정합니다.
AutoReset
타이머는 간격이 경과하면 재설정되고 새 카운트를 시작합니다. 이것이false
로 설정된 경우 타이머를 재설정해야 합니다.2000
은 상황에 따라 변경될 수 있는 시간 간격입니다.Interval
매개변수를 설정한 후 필요한 코드를 실행하기 전에 대기할 시간을밀리초
로 지정할 수 있습니다.
t.AutoReset = true; t.Enabled = true; t.Interval = 2000; t.Elapsed += ontime;
Elapsed
속성은 시간 이후에 실행할 기능을 지정합니다. C#에서 이벤트 핸들러를 정의하는 것은 내가 한 것처럼+=
를 사용하여 더 빠르게 수행할 수 있으며 타이머가 이벤트 핸들러를 구독하도록 지시합니다.
-
콘솔에 몇 가지 경고 메시지도 표시했습니다.
Console.WriteLine(" Waiting for Command "); Console.WriteLine(" Click on Enter Button to Exit Console "); Console.ReadLine();
-
Stop()
기능을 사용하여 타이머를 중지합니다.Dispose()
함수는 타이머 실행이 완료된 후 소비한 리소스를 해제하는 데 사용해야 합니다.t.Stop(); t.Dispose();
-
Object
및System.Timers.ElapsedEventArgs s
인수는ontime()
메서드에 필요합니다.private static void ontime(Object source, System.Timers.ElapsedEventArgs s) { Console.WriteLine(" My name is DelftStack "); }
전체 소스 코드:
using System;
using System.Timers;
class Shanitimer {
private static System.Timers.Timer t;
static void Main() {
t = new System.Timers.Timer();
t.AutoReset = true;
t.Enabled = true;
t.Elapsed += ontime;
t.Interval = 2000;
Console.WriteLine(" Waiting for Command ");
Console.WriteLine(" Click on Enter Button to Exit Console ");
Console.ReadLine();
t.Stop();
t.Dispose();
}
private static void ontime(Object source, System.Timers.ElapsedEventArgs s) {
Console.WriteLine(" My name is DelftStack ");
}
}
출력:
Waiting for Command
Click on Enter Button to Exit Console
My name is DelftStack
My name is DelftStack
//After this line, I pressed enter
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn