防止运行子例程两次以提高性能?

时间:2016-07-26 14:59:53

标签: .net vb.net winforms performance file-search

我有一个winform,可以在datagridview中进行文件搜索和显示结果。我也有显示文件的图片框。过程:输入文件名并单击搜索,在网格中显示结果,在图片框中显示图片。

我希望能够再次点击搜索,但这次如果它是同一个文件,我不想运行我的图片处理,从而带来更好的性能。不确定如何实现这个目标?

1 个答案:

答案 0 :(得分: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