0

我想问一下我的工作。

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.

请帮我。

谢谢。

4

2 回答 2

1

尝试在项目比较期间添加 .ToString:

If lstCustType.Items(iCounter).ToString() = sCustType Then

此外,您的循环将引发错误,因为您应该在计数后降 1,而不是 1,因为列表框的索引从 0 开始。这最终会引发错误,因为列表框尝试访问不存在。应该读:

For iCounter = 0 To lstCustType.Items.Count - 1
于 2013-06-02T11:47:05.363 回答
0

sCustType =“成人”或“儿童”或“让步”

像这样使用 or 运算符,编译器期望执行按位或 2 个长整数。您可能需要创建客户类型的集合,然后使用 LINQ 对项目集合进行特定搜索。

于 2013-06-02T22:00:27.693 回答