2013-10-11 166 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 

我在我的结构所做的错误。混合了前两个领域。 感谢所有