[英]Conversion from string to type Integer is not valid
我的應用程序中包含以下代碼...什么都沒有聲明為整數,所以我不明白或看不到問題出在哪里...就是說:
從字符串“ 9838 Co Rd 47”到類型“ Integer”的轉換無效。
該地址以字符串形式流經整個函數,我認為唯一可以更改的地方是在函數調用中...下面是引發異常的函數。 隨后是返回地址的函數...錯誤來自_holder = item.bill_to.remove( address )行
For Each item In _QuickImport
Dim BusinessName As String = Nothing
Dim CustomerName As String = " "
_Id = item.id
If Not String.IsNullOrEmpty(item.Customer) Then
Dim _holder As String = String.Empty
Dim _contact_ As String = item.Contact
Dim _address_ As String = String.Empty
If item.Bill_to.Contains(_contact_) Then
_holder = item.Bill_to.Replace(_contact_, " ")
End If
If Not String.IsNullOrEmpty(_holder) Then
If item.Bill_to.Contains("Co Rd") Then
_address_ = ExtractAddressWithCoRd(_holder)
End If
Else
If item.Bill_to.Contains("Co Rd") Then
_address_ = ExtractAddressWithCoRd(item.Bill_to)
End If
End If
If Not String.IsNullOrWhiteSpace(item.Customer) Then
If item.Customer.Contains(":") Then
BusinessName = item.Customer.Split(":")(0)
CustomerName = item.Customer.Split(":")(1)
Else
CustomerName = item.Customer
End If
End If
If Not String.IsNullOrEmpty(BusinessName) Then
If item.Bill_to.Contains(BusinessName) Then
_holder = item.Bill_to.Replace(BusinessName, " ")
End If
End If
Dim _Id_ As Integer = _Id
If Not String.IsNullOrWhiteSpace(_holder) Then
Dim _check As Boolean = True
_check = ValidZip(_holder)
If _check = True Then
If Not String.IsNullOrEmpty(_address_) Then
_holder = Convert.ToString(_holder)
_address_ = Convert.ToString(_address_)
_holder = item.Bill_to.Remove(_address_)
End If
parseAddress(_holder, _Id)
另一個功能是:
Private Function ExtractAddressWithCoRd(ByVal input As String) As String
Dim add1 As String = String.Empty
Dim add2 As String = String.Empty
Dim parts() As String = input.Split(" "c)
For i As Integer = 0 To parts.Length - 1
If parts(i) = "Co" AndAlso i > 0 Then
add1 = parts(i - 1)
ElseIf parts(i) = "Rd" AndAlso i < parts.Length - 1 Then
add2 = parts(i + 1)
End If
Next
Return add1 + " Co Rd " + add2
End Function
這是我認為某些內容已更改為整數值的地方...但這也都聲明為字符串...
有任何想法嗎????
這是我認為某些內容已更改為整數值的地方...
不,不是這樣。 再次閱讀錯誤消息:
從字符串“ 9838 Co Rd 47”到類型“ Integer”的轉換無效。
“從字符串轉換”表示您的_address_
變量確實是一個字符串,並且甚至顯示了它的值(“ 9838 Co Rd 47”)。
它嘗試將此字符串轉換為整數,因為item.Bill_to
是一個String
和String.Remove
需要一個整數參數(從中刪除字符的位置),但是您傳遞了一個字符串。 您正在尋找的是String.Replace
,您已經在其他地方使用了它:
_holder = item.Bill_to.Replace(_address_, "")
您使用的選項嚴格嗎? 也許您應該使用
Return add1 & " Co Rd " & add2
由於add1似乎是9838?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.