さまざまなファイルを RichTextBox にロードし、ドキュメントをスキャンして特定の単語を見つけるために使用する VB.NET アプリケーションがあります。Word の検索機能に似ています。アプリは、5,150 行の .sql ドキュメントが実行されるまで正常に実行され、実行が完了するまでに 10 分以上かかります。
以下のコードよりも優れたコーディング方法を推奨できる人はいますか?
If sqlText.Contains("GRANT") Then
Dim searchstring As String = "GRANT"
Dim count As New List(Of Integer)()
For i As Integer = 0 To rtbFile.Text.Length - 1
If rtbFile.Text.IndexOf(searchstring, i) <> -1 Then
count.Add(rtbFile.Text.IndexOf(searchstring, i))
End If
Next
Try
For i As Integer = 0 To count.Count - 1
rtbFile.Select(count(i), searchstring.Length)
rtbFile.SelectionBackColor = Color.Yellow
rtbFile.SelectionFont = New Font(rtbFile.Font, FontStyle.Bold)
count.RemoveAt(i)
Next
Catch ex As Exception
End Try
rtbFile.Select(rtbFile.Text.Length, 0)
rtbFile.SelectionBackColor = Color.White
rtbFile.SelectionFont = New Font(rtbFile.Font, FontStyle.Regular)
End If