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
解决方案
使用Option Strict
and Option Explicit
- 这会标记一些问题。
在这种情况下,您将RecurringItem
其用作数组中的索引,NewestItems
因此它试图转换RecurringItem
为Integer
. 但是,我假设RecurringItem
来自History
其中的一个数组String
。因此,您正在尝试使用从文件中读取的字符串作为整数,而程序现在正在“敲击”。
你真的是这个意思NewestItems(x).StartsWith(outputHistory)
吗?
推荐阅读
- swift -
- python - 我可以腌制一个 Zip 对象吗?
- javascript - Webpack Babel Function("r", "regeneratorRuntime = r")(r) 违反 unsafe-eval CSP
- r - 使用 ggplot2 的多条回归线
- javascript - 当我将 res.send() 放在我的 Promise.then 语句中时,为什么 res.send() 不会在我的 index.html 页面中显示结果?
- python - 压缩最长的列表并对齐输出。python itertools 从头开始
- python - 无法将变量从一个函数定义到另一个函数
- python - 在 chrome cookie 中编码 blob
- django - TypeError:entry() 缺少 1 个必需的位置参数:'title'(Django 帮助)
- javascript - 未捕获的 ReferenceError:在初始化之前无法访问“类”