我想问一下我的工作。
我必须从adult, child,concession
找到listbox customer type
的特定客户类型。
这是我的代码:
Dim iCounter As Integer = 0
Dim sCustType As String = ""
sCustType = "adult" Or "child" Or "concession"
For iCounter = 0 To lstCustType.Items.Count + 1
If lstCustType.Items(iCounter) = sCustType Then
lstQuoteResult.Items.Add(lstQuoteNum.Items(iCounter))
lstCustResult.Items.Add(lstCustType.Items(iCounter))
lstBagResult.Items.Add(lstBaggageWeight.Items(iCounter))
lstBagWeightResult.Items.Add(lstBagWeight.Items(iCounter))
lstDestResult.Items.Add(lstDestinationCost.Items(iCounter))
lstTripResult.Items.Add(lstHighSesason.Items(iCounter))
lstQuiteResult.Items.Add(lstQuiteCarriageCost.Items(iCounter))
lstInsResult.Items.Add(lstInsurance.Items(iCounter))
lstInsCResult.Items.Add(lstInsuraneCost.Items(iCounter))
lstReturnResult.Items.Add(lstReturnTripCost.Items(iCounter))
lstTotalResult.Items.Add(lstTotal.Items(iCounter))
End If
Next
但它不起作用。显然有一个错误Conversion from string "adult" to type 'Long' is not valid.
请帮帮我。
感谢。
答案 0 :(得分:1)
尝试在项目比较期间添加.ToString:
If lstCustType.Items(iCounter).ToString() = sCustType Then
此外,你的循环会抛出一个错误,因为你应该在计数后踩下1,而不是上升1,因为列表框从0开始编入索引。这最终会因为列表框尝试访问索引而引发错误不存在。应该阅读:
For iCounter = 0 To lstCustType.Items.Count - 1
答案 1 :(得分:0)
sCustType =“成人”或“孩子”或“让步”
使用这样的or运算符,编译器期望按位或2位长度执行。您可能需要创建一组客户类型,然后使用LINQ对项集合进行特定搜索。