2017-09-21 76 views
0

目前,我有以下代碼:和添加,創建一個類的對象,然後將對象添加到集合

Public Class CPUForm 

    Dim myCPUList As New List(Of CPUClass) 
    Dim Counter As Integer = 0 

    Private Sub CPUForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

     OpenFileDialog.ShowDialog() 

     Try 
      If IO.File.Exists(OpenFileDialog.FileName) = False Then 
      End If 
     Catch ex As IO.FileNotFoundException 
      MessageBox.Show("The File Could Not Be Found", "Alert") 
     End Try 
     If IO.File.Exists(OpenFileDialog.FileName) = True Then 
      Dim sr As IO.StreamReader = IO.File.OpenText(OpenFileDialog.FileName) 
      Dim line As Object 
      Dim data() As Object 
      Do Until sr.EndOfStream 
       line = sr.ReadLine 
       data = line.Split(",") 
       Dim ACpu As New CPUClass(data(0), data(1), data(2), data(3), data(4), data(5)) 
       myCPUList(Counter) = ACpu 
       Counter += 1 
      Loop 
      sr.Close() 
     End If 
     lstOut.DataSource = Nothing 
     lstOut.DataSource = myCPUList 
    End Sub 
End Class 

這裏的目標是讀取時間從一個值逗號分隔的文本文件,創建類的對象,將這些對象添加到集合,然後使用重寫的ToString方法將集合顯示在列表框中。

現在我即使在運行時也沒有錯誤。問題是一個文件被選中,沒有任何反應。沒有任何東西顯示在列表框中,就像沒有添加到集合中一樣。另外,存在一個重載的構造函數來接收正在讀入的值。

+0

使用像CSVHelper這樣的CSV解析工具,這非常簡單。確保爲你的類增加一個'ToString()'覆蓋 – Plutonix

+0

'myCPUList(Counter)= ACpu'這行應該拋出一個異常,因爲你的列表是空的,你試圖引用一個索引位置。改用'myCPUList.Add(ACpu)'。 – LarsTech

+0

我試過改變這一行,不幸的是仍然得到相同的結果。 – Elite

回答

0

原來的代碼很好,問題是文本文件中的逗號不在位。