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方法將集合顯示在列表框中。
現在我即使在運行時也沒有錯誤。問題是一個文件被選中,沒有任何反應。沒有任何東西顯示在列表框中,就像沒有添加到集合中一樣。另外,存在一個重載的構造函數來接收正在讀入的值。
使用像CSVHelper這樣的CSV解析工具,這非常簡單。確保爲你的類增加一個'ToString()'覆蓋 – Plutonix
'myCPUList(Counter)= ACpu'這行應該拋出一個異常,因爲你的列表是空的,你試圖引用一個索引位置。改用'myCPUList.Add(ACpu)'。 – LarsTech
我試過改變這一行,不幸的是仍然得到相同的結果。 – Elite