首页 > 解决方案 > 搜索查询以从组合框中为每个选定值返回一个值

问题描述

我有一个特定的算法,可以根据房间的容量找到房间的组合,是否可以进行搜索查询,从组合算法中建议的房间类型中搜索房间号,并为每个房间类型返回一个房间号显示。组合显示在组合框中。
在此处输入图像描述

 Private Sub Combination(rooms As List(Of Integer), num As Integer)
    Dim count As Double = Math.Pow(2, rooms.Count)
    Dim roomStrings As New List(Of String)()
    Dim i As Integer
    For i = 1 To count - 1
        Dim sum = 0
        Dim formattedString = ""
        Dim str As String = Convert.ToString(i, 2).PadLeft(rooms.Count, "0")

        For j = 0 To str.Length - 1
            If (str(j) = "1") Then
                sum += rooms(j)
                formattedString += GetRoomByCapacity(rooms(j)) + ","
            End If
        Next

        If (sum = num) Then
            roomStrings.Add(formattedString.Substring(0, formattedString.Length - 1))
        End If
    Next

    Dim distinct = RemoveDuplicates(roomStrings)

    cmbRoomType.Items.Clear()
    For Each str As String In distinct
        cmbRoomType.Items.Add(str)
    Next
End Sub

  Private Function GetRoomByCapacity(num As Integer) As String
    If (num = 1) Then
        Return "Single"
    ElseIf (num = 2) Then
        Return "Double"
    ElseIf (num = 3) Then
        Return "Triple"
    ElseIf (num = 4) Then
        Return "Quad"
    ElseIf (num = 5) Then
        Return "Family"
    Else
        Return "-"
    End If
End Function

标签: vb.netsqlite

解决方案


推荐阅读