2017-09-01 116 views
-1

我正在尝试读取标题为“inventory.txt”的文本文件并将其保存到不同的数组。我得到indexOutOfRangeException是未处理的错误。当我通过我的代码并将鼠标悬停在“itembulkAmt”上时,它显示文本文件中不同行的信息,因为某些项目没有大量数量或价格,如任天堂开关。我很难坚持任何帮助,将不胜感激。这是文本文件看起来像:得到indexOutOfRangeException是未处理的错误

橡皮泥,3.95,10,2.99
傻串,3.50,10,2.77
任天堂开关,429.99
马里奥赛车(开关),49.99
Code Jam Challenge(Switch),47.99
Fidget Spinner,6.79,5,5.98
Rubik's cube,9.10
'编程规则!'按钮,0.79,20,.47
'编程规则!'保险杠贴纸,0.99,20,0.78
瓶Ø气泡,0.99

'read and validate inventory text file 
    Dim invntFile As StreamReader 
    If File.Exists("inventory.txt") Then 
     invntFile = File.OpenText("inventory.txt") 
     Dim indexInvnt As Integer = 0 
     While Not invntFile.EndOfStream 
      Dim entirelineInvnt = invntFile.ReadLine 
      Dim inventory() As String = entirelineInvnt.Split(","c) 
      Dim itemName As String = inventory(0) 
      Dim itemPrice As Double = CDbl(inventory(1)) 
      Dim itemBulkAmt As Double = CDbl(inventory(2)) 
      Dim itemBulkPrice As Double = CDbl(inventory(3)) 
      itemLabel(indexInvnt) = itemName 
      priceReg(indexInvnt) = itemPrice 
      amtBulk(indexInvnt) = itemBulkAmt 
      priceBulk(indexInvnt) = itemBulkPrice 
      indexInvnt += 1 
     end while 
    end if 
+0

请阅读[问]并参加[导览](也有小工具栏上用于格式化帖子的工具和帮助) – Plutonix

+0

您可以使用Try Catch块轻松处理此问题 –

+0

文件中的某些行不包含4个元素。您的代码将在这些行中引发异常。 –

回答

2

并非所有的项目有三个价格。因此,库存(2)和库存(3)正在抛出索引错误。

相关问题