집 >백엔드 개발 >C#.Net 튜토리얼 >C#의 타이머
C#의 타이머는 프로그래밍 세계에서 사용할 수 있는 최고의 기능 중 하나입니다. 타이머는 서버측과 클라이언트측 모두에서 소프트웨어 프로그램 개발에 중요한 역할을 합니다. 주로 다른 간섭 없이 특정 시간 간격으로 이벤트를 트리거하는 데 사용됩니다. 타이머는 시각적 표현이 없기 때문에 백그라운드에서 작동합니다. 따라서 C #에서 시간의 도움을 받아 시간 속도를 높이거나 낮추어 애니메이션 시퀀스를 예약할 수 있으므로 코드를 확인하거나 고정된 시간에 이벤트를 수행할 때 타이머 개체를 사용할 수 있습니다.
C#에서 타이머를 표현하는 구문을 살펴보겠습니다.
timer = new System.Timers.Timer(3000) ;
여기서 3초 동안의 타이머 개체를 만들었습니다. 타이머 객체를 생성한 후 경과된 이벤트에 대한 타이머를 설정할 수 있으며 그 후 아래 구문을 통해 타이머를 시작할 수 있습니다.
timer.Elapsed += OnTimedEvent ; timer.Enabled = true ;
C#에서 타이머의 작동, 구현 및 기능을 정확하게 이해하기 위해 아래에 설명된 타이머 함수의 예가 나와 있습니다.
다음은 타이머 작동을 보여주는 C# 코드의 예입니다.
코드:
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#의 기본 기능과 타이머 작동을 보여주기 위해 Timer_Example 클래스를 선언했습니다. 그런 다음 newTimer라는 이름을 지정하여 새 타이머를 선언합니다. 따라서 이 newTimer를 사용하여 타이머 함수의 경과 및 간격 기능을 호출합니다. 타이머 값을 이미 2초로 설정한 다음 while 조건이 참이 될 때까지 타이머 기능을 초기화합니다. DateTime.now를 호출하면 출력 화면에 날짜와 시간이 표시됩니다.
코드:
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 ) ; } }
출력:
위 코드에서 우리는 "Timer"라는 하나의 개인용 정적 타이머를 선언한 "Test_Timers"라는 클래스를 선언했으며 공개 정적 메인에서 타이머를 시간 간격이 6인 새 타이머와 동일하게 설정했습니다. 초. onTimedEvent 메소드를 통해 조건이 true가 될 때까지 6초마다 상태를 계속 인쇄하면서 날짜와 시간을 인쇄할 수 있습니다. 출력에서 볼 수 있듯이 두 이벤트 사이의 간격은 6초이며 조건이 충족될 때까지 계속 반복됩니다.
코드:
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 ) ; } } }
출력:
위 코드에서는 해당 기능을 사용할 수 있도록 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!