2015-11-05 3 views
1

Так вот что моя программа выглядитКак искать текст в ListBox?

Click this

Что я хочу сделать, это найти, сколько вхождений есть одного сорта

Вот код друг помог мне сделать

Private Function countOccOfMark(ByVal mark As String) 
    Dim resultCount As Integer = 0 

    For cnt As Integer = 0 To lstDisplay.Items.Count - 1 
     Dim gradeMark As String = lstDisplay.Items(cnt) 
     Dim results() As String = gradeMark.Split(vbTab) 

     For Each res As String In results 
      If (res = mark) Then 
       resultCount = resultCount + 1 
      End If 
     Next 
    Next 

    Return resultCount 
End Function 


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim mark As String = InputBox("Enter a Grade to search for") 
    Dim amountFound As Integer = countOccOfMark(mark) 
    MessageBox.Show("Found " & amountFound & " Occurences of the mark " & mark) 
End Sub 

Что работает отлично, но я уверен, что есть более простой способ сделать это

+1

A) В представлении списка вы можете отображать содержимое в соответствующих столбцах, чтобы вам не нужно разделить данные для его изучения. 2) Класс, который содержит имя, показатель процента, может отображаться как показано (используя «ToString()», но сохраняйте данные отдельно, поэтому вам не нужно разделить данные для его изучения. – Plutonix

ответ

1

Внутренний For-Next не требуется. Оценка всегда находится во второй колонке.

Private Function countOccOfMark(ByVal mark As String) 
    Dim resultCount As Integer = 0 

    For cnt As Integer = 0 To lstDisplay.Items.Count - 1 
     Dim gradeMark As String = lstDisplay.Items(cnt) 
     Dim results() As String = gradeMark.Split(vbTab) 
     If results(1) = mark Then 
      resultCount = resultCount + 1 
     End If 
    Next 

    Return resultCount 
End Function 
+0

Я знал, что есть другой способ сделать это Спасибо человеку, что вы очень помогли – Thomas06501

+0

@ Thomas06501 Добро пожаловать. Если это сработает, примите мой ответ как «ответ» - если только вы не попытаетесь сохранить разговор открытым. – JerryM

Смежные вопросы