转换类型错误:类型字符串不能转换为整数

时间:2018-07-04 04:36:33

标签: vb.net

嗨,大家好,我不断收到一个异常错误,指出无法将字符串转换为整数,并且不确定为什么...我试图将toString()方法添加到许多不同的地方进行尝试和解决,但是没有任何效果...可以您只要瞥一眼,看看我在哪里傻。我基本上是想看看何时找到新项目,以查看它是否以“历史记录”中的所有行开头,将其拆分为单词““” URL“”“

我在引发异常的if语句上方进行了评论。

确切的错误是:

  

System.InvalidCastException:'从字符串“ {” Title“:” Item 1“到类型'Integer'的转换无效。'

内部异常

  

FormatException:输入字符串的格式不正确。

Dim History = File.ReadAllLines("history.json")
Dim NewestItems = File.ReadAllLines("items.json")
Dim InitialItems = File.ReadAllLines("Init-items.json")

For x As Integer = 0 To InitialItems.Length - 1
        Dim current As String = InitialItems(0)
        Dim splitAt As String = """Url"""
        Dim index As Integer = current.IndexOf(splitAt)
        Dim output As String = current.Substring(0, index + splitAt.Length)
        Dim recurringItemFound = 0
        If Not NewestItems(x).StartsWith(output) And Not History.Contains(NewestItems(x)) Then

            If cbxRecurringItemsOff.Checked = True Then
                For Each RecurringItem In History
                    Dim indexHistory As Integer = NewestItems(x).IndexOf(splitAt)
                    Dim outputHistory As String = NewestItemss(x).Substring(0, indexHistory + splitAt.Length)
                    '********the below if statement throws an Exception error*********
                    If NewestItems(RecurringItem).StartsWith(outputHistory) Then
                        recurringItemFound = 1
                    End If
                Next
            End If
Next

1 个答案:

答案 0 :(得分:0)

使用Option StrictOption Explicit-这会标记一些问题。

在这种情况下,您将RecurringItem用作数组NewestItems中的索引,因此它试图将RecurringItem转换为Integer。但是,RecurringItem来自History,我假设它是String的数组。因此,您正在尝试使用从文件中读取的字符串作为整数,并且程序现在正在“扑朔迷离”。

您真的是说NewestItems(x).StartsWith(outputHistory)吗?