2010-06-10 3 views
0

제 프로그램이 처리해야하는 상황에 처해 있습니다. 그런 다음 일정한 간격을 기다렸다가 5 초를 기다렸다가 같은 처리를 다시합니다.간단한 프로그램 로직을 연속적으로 호출하는 방법

로직을 구현하는 방법을 모르겠습니다.

내가 논리를 개발

코드는 다음과 같습니다 :

private void ProcessEmail() 
    { 
     PprocessEmail:; 

     //Do whatever you want 

     System.Threading.Thread.Sleep(5000); 
     goto ProcessEmail; 
    } 

이 코드는 무엇을 : 나는 단지 그것을 처리 후 다시 5 초 동안 기다린 할 것, 한 번이 메소드를 호출해야 방법.

지금까지 위의 코드는 정상적으로 작동하지만 "goto"문을 사용하는 것이 프로그래밍에 적합하지 않다고 들었습니다.

이 코드의 부작용이 있는지, 같은 일을하는 다른 효율적인 방법이 있는지 알고 싶습니다.

+0

"while"및 "for"와 같은 제어 흐름 구조가 있음을 알고 있습니까? – zerm

+0

안녕하세요, 답장을 보내 주셔서 감사합니다. 회 돌이에 대해 알고 있습니다. 그러나 루핑 (looping)과 다른 방법보다 효율적인 방법이 있습니다. 당신은 내가 원하는 기능의 종류를 이해합니다. – nccsbim071

+0

재귀가 있지만이 경우에는 필요하지 않습니다. 루프의 문제점은 무엇입니까? – zerm

답변

2

루프를 살펴보십시오. This Wiki 기사가 이론을 시작하기에 좋은 장소 일 수 있습니다.

C# 인 경우 사용할 수있는 코드는 while(true)이며 영원히 반복됩니다.

+0

안녕하세요 답장을 보내 주셔서 감사합니다, 나는 루프에 대해 알고 있습니다. 그러나 루핑 (looping)과 다른 방법보다 효율적인 방법이 있습니다. 당신은 내가 원하는 기능의 종류를 이해합니다. – nccsbim071

+0

@ nccsbim071 : 약간 혼란 스러워요. 원하는 기능이 반복되고 있습니다. 고토는 그냥 못된 방식으로하고 있습니다. 모르겠지만 내부적으로 루프와 goto가 정확히 같은 방식으로 표현 될 수 있다면 놀랄 일이 아니며 어떤 종류의 루프를 통과하는 것보다 더 효율적인 루핑 방법이 있다고 상상할 수 없습니다. ... –

+0

나는 너희들이 맞다고 생각한다. – nccsbim071