>  기사  >  백엔드 개발  >  C#의 타이머

C#의 타이머

WBOY
WBOY원래의
2024-09-03 15:30:061103검색

C#의 타이머는 프로그래밍 세계에서 사용할 수 있는 최고의 기능 중 하나입니다. 타이머는 서버측과 클라이언트측 모두에서 소프트웨어 프로그램 개발에 중요한 역할을 합니다. 주로 다른 간섭 없이 특정 시간 간격으로 이벤트를 트리거하는 데 사용됩니다. 타이머는 시각적 표현이 없기 때문에 백그라운드에서 작동합니다. 따라서 C #에서 시간의 도움을 받아 시간 속도를 높이거나 낮추어 애니메이션 시퀀스를 예약할 수 있으므로 코드를 확인하거나 고정된 시간에 이벤트를 수행할 때 타이머 개체를 사용할 수 있습니다.

C#의 타이머 구문

C#에서 타이머를 표현하는 구문을 살펴보겠습니다.

timer = new System.Timers.Timer(3000) ;

여기서 3초 동안의 타이머 개체를 만들었습니다. 타이머 객체를 생성한 후 경과된 이벤트에 대한 타이머를 설정할 수 있으며 그 후 아래 구문을 통해 타이머를 시작할 수 있습니다.

timer.Elapsed += OnTimedEvent ;
timer.Enabled = true ;

C#에서 타이머의 작동, 구현 및 기능을 정확하게 이해하기 위해 아래에 설명된 타이머 함수의 예가 나와 있습니다.

C#에서 타이머를 구현하는 예

다음은 타이머 작동을 보여주는 C# 코드의 예입니다.

예시 #1

코드:

using System ;
using System.Timers ;
class Timer_Example
{
public static void Main()
{
Timer newTimer = new Timer() ;
newTimer.Elapsed += new ElapsedEventHandler(DisplayTimeEvent ) ;
newTimer.Interval = 2000 ;
newTimer.Start() ;
while ( Console.Read() != 'q' )
{
;    // we can write anything here if we want, leaving this part blank won’t bother the code execution.
}
}
public static void DisplayTimeEvent( object source, ElapsedEventArgs e )
{
Console.Write( " \r{0} " , DateTime.Now ) ;
}
}

출력:

C#의 타이머

C#의 타이머

위 코드에서는 C#의 기본 기능과 타이머 작동을 보여주기 위해 Timer_Example 클래스를 선언했습니다. 그런 다음 newTimer라는 이름을 지정하여 새 타이머를 선언합니다. 따라서 이 newTimer를 사용하여 타이머 함수의 경과 및 간격 기능을 호출합니다. 타이머 값을 이미 2초로 설정한 다음 while 조건이 참이 될 때까지 타이머 기능을 초기화합니다. DateTime.now를 호출하면 출력 화면에 날짜와 시간이 표시됩니다.

예시 #2

코드:

using System ;
using System.Timers ;
public class Test_Timers {
private static Timer timer ;
public static void Main() {
timer = new System.Timers.Timer() ;
timer.Interval = 6000 ;
timer.Elapsed += OnTimedEvent ;
timer.AutoReset = true ;
timer.Enabled = true ;
Console.WriteLine( " Please enter any key to exit from the code anytime... " ) ;
Console.ReadLine() ;
}
private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) {
Console.WriteLine( " Event  : {0} " , e.SignalTime ) ;
}
}

출력:

C#의 타이머

위 코드에서 우리는 "Timer"라는 하나의 개인용 정적 타이머를 선언한 "Test_Timers"라는 클래스를 선언했으며 공개 정적 메인에서 타이머를 시간 간격이 6인 새 타이머와 동일하게 설정했습니다. 초. onTimedEvent 메소드를 통해 조건이 true가 될 때까지 6초마다 상태를 계속 인쇄하면서 날짜와 시간을 인쇄할 수 있습니다. 출력에서 볼 수 있듯이 두 이벤트 사이의 간격은 6초이며 조건이 충족될 때까지 계속 반복됩니다.

예시 #3

코드:

using System ;
using System.Collections.Generic ;
using System.Timers ;
static class DemoTimers
{
static Timer time ;
static List <DateTime> output = new List <DateTime> () ;
public static void Start()
var timer = new Timer(5000) ;
timer.Elapsed += new ElapsedEventHandler(Elapsed_time ) ;
timer.Enabled = true ;
time = timer ;
}
static void Elapsed_time( object sender , ElapsedEventArgs e )
{
otuput.Add(DateTime.Now) ;
}
public static void PrintTimes()
{
if ( otuput.Count> 0 )
{
Console.WriteLine( " TIMERS : " ) ;
foreach ( var time in otuput )
{
Console.Write(time.ToShortTimeString() + " " ) ;
}
Console.WriteLine() ;
}
}
}
class Program
{
static void Main()
{ DemoTimers.Start() ;
while ( true )
{
DemoTimers.PrintTimes() ;
Console.WriteLine( " WAITING To Print" ) ;
System.Threading.Thread.Sleep( 2000 ) ;
}
}
}

출력:

C#의 타이머

위 코드에서는 해당 기능을 사용할 수 있도록 System.Timers 클래스를 사용하여 System.Collections.Generic을 사용하고 있는 것을 볼 수 있습니다. 우리는 이름이 time인 정적 타이머를 생성한 하나의 정적 클래스 DemoTimers를 선언한 후 이름이 DateTime인 정적 목록 하나를 생성하여 출력에 저장됩니다. 코드에서 타이머 사용을 시작하려면 타이머를 5초 동안 설정한 후 경과된 이벤트 핸들러를 추가하고 조건을 true로 설정해야 한다는 점에서 하나의 Start() 메서드를 생성합니다.

가능한 각 이벤트의 날짜와 시간을 추가할 수 있는 Elapsed_time이라는 이름의 또 다른 메서드는 이벤트의 현재 시간과 날짜를 찾는 데 도움이 됩니다. 그런 다음 void 유형의 PrintTimes라는 메서드를 하나 더 선언했습니다. 이 방법을 사용하면 기록된 시간 전체를 인쇄할 수 있습니다. 조건이 추가되면 조건이 참이 될 때까지 타이머를 계속 인쇄합니다. 출력 목록의 각 var 시간에 대해 인쇄됩니다.

마지막으로 static void main이 선언된 Program이라는 클래스를 만든 다음 타이머 클래스를 시작합니다. 3초마다 PrintTimes 함수를 호출하고 조건이 true인 경우 모든 이벤트 발생 사이에 중단이 발생한 후 3초 후에 결과를 계속 인쇄합니다.

결론

타이머 클래스의 도움으로 프로그래머는 몇 분 또는 몇 초 내에 정기적으로 코드를 호출할 수 있습니다. 따라서 프로그램 타이머의 전반적인 품질을 모니터링하려면 프로그램을 모니터링하는 데 사용됩니다. 정적 클래스이므로 인스턴스 멤버를 가질 수 없습니다.

위 내용은 C#의 타이머의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 인터페이스다음 기사:C# 인터페이스