2013-10-11 164 views
0

我有下一個代碼。我從文本文件中讀取,創建記錄列表(我的結構)。 接下來我需要從那裏球隊的名字從文本框的形式List.FindAll不返回結果集

Public Class Form1 

    Structure Record 

     Sub New(ByVal arr As String()) 
      Me.team = arr(0) 
      Me.player = arr(1) 
      Me.bats = CInt(arr(2)) 
      Me.hits = CInt(arr(3)) 
     End Sub 
     Dim team As String 
     Dim player As String 
     Dim bats As Integer 
     Dim hits As Integer 
    End Structure 

    Private Sub btnDisplay_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDisplay.Click 
     Dim team As String = txtTeam.Text 
     Dim records As New List(Of Record) 

     records.AddRange(
      From line In IO.File.ReadAllLines("Baseball.txt") 
      Select New Record(line.Split(","c)) 
      ) 

     records = records.FindAll(Function(record) record.team.Equals(team)) 

     Dim a As Integer = 1 
     a += 1 

    End Sub 
End Class 

的問題是,我

records = records.FindAll(Function(record) record.team.Equals(team)) 

任何建議後收到0條記錄上等於球隊的名稱列表中的所有記錄的對象?

P.S:這是一個斷點

Dim a As Integer = 1 
a += 1 
+1

您是否確定存在匹配團隊文本的記錄,您可能會遇到案例比較問題,其中一個以小寫和一個上部或部分爲單位 –

+0

要添加到BobVale所說的內容 - 將此轉換進入foreach循環,看看你是否得到預期的結果。您可能需要考慮「團隊」必須檢查爲區分大小寫的文本和/或空格。 – bland

+0

區分大小寫的文本沒有問題 – pydevd

回答

1

問題解決了,我是個白癡:)

Structure Record 
    Sub New(ByVal arr As String()) 
     Me.player = arr(0) 
     Me.team = arr(1) 
     Me.bats = CInt(arr(2)) 
     Me.hits = CInt(arr(3)) 
    End Sub 
    Dim team As String 
    Dim player As String 
    Dim bats As Integer 
    Dim hits As Integer 
End Structure 

我在我的結構所做的錯誤。混合了前兩個領域。 感謝所有