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

Проблема в том, что я получил 0 записей после

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

Любые предложения?

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 

Я сделал ошибку в моей структуре. Смешали первые два поля. Спасибо всем

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