2016-07-26 5 views
0

파일을 검색하고 결과를 datagridview에 표시하는 winform이 있습니다. 또한 파일을 표시하는 그림 상자가 있습니다. 과정 : 파일 이름을 입력하고 검색을 클릭하고 그리드와 그림을 그림 상자에 표시합니다.성능 향상을 위해 서브 루틴을 두 번 실행하지 않습니까?

검색을 다시 클릭 할 수 있지만 동일한 파일 인 경우 이번에는 사진 프로세스를 실행하지 않으므로 성능이 향상됩니다. 이것을 달성하는 방법에 대한 확신이 없습니까?

+1

어떻게 우리가 어떻게 해결하는 방법을 알 수 있습니다/어떤 코드가 없을 때 코드를 최적화? – Plutonix

답변

3

당신은 정적 변수를 사용하여 설정할 수 있습니다/그 메소드가 호출 될 때마다 확인 :

Public Sub SearchForFile(filename As String) 
    Static lastFile As String = Nothing 
    Try 
     'don't run again if the same file is searched for 
     If lastFile = filename Then Return 

     'do your file searching here 
    Finally 
     'always set the last filename to the one we just searched for 
     lastFile = filename 
    End Try 
End Sub 
+0

동일한 파일을 다시 검색 한 후 끊기 때문에 try try 루프가 끝나지 않습니다. –

+0

내가 게시 한 코드에는 루프가 없으므로 코드에 'return'이 없다고 추측하겠습니까? –

+0

끊어진 건 무엇을 의미합니까? 그것은 단지 루프에 매달릴 수 있으므로 간단한 코드 행에는 매달릴 수 없습니다. –