搜索数组超过1个条件的函数

时间:2014-11-21 19:42:43

标签: arrays visual-studio search

我只是将问题和我的部分解决方案包括在内。这个问题来自我的第一个编程课,所以请保持温和。

编写一个Function过程,当属性满足搜索条件时,该过程返回propListBox中属性的索引。稍后将通过Search和SearchNext Buttons的事件处理程序调用此函数。

使用以下过程标题。 (此功能将用于实现要求#12和#13。)

第一个参数是搜索将从中开始的属性列表中的索引。第二个参数是卧室数量的搜索标准,第三个是浴室数量,第四个是州。如果将0作为卧室/浴室的参数传递,则表示用户未指定卧室/浴室的搜索条件。如果Nothing作为state的参数传递,则表示用户没有为State指定搜索条件。

如果您有多个条件,您应该找到满足所有条件的属性。 (例如,如果为startIndex指定了'0'(意味着您将从第一个属性开始搜索),并且如果3作为卧室参数传递,3则传递给浴室,则满足这两个条件的第一个属性是该物业的地址为'1314 Fern Ave,Orlando,FL 32814'。

使用循环结构遍历每个属性,并将#of bedroom,#of bathroom和属性的状态与传递给函数的参数进行比较。请注意,有关属性的信息存储在nbeds,nbath和states数组中。

属性搜索应该从startIndex开始,并且应该在找到满足所有条件的第一个属性时停止。

此函数应返回找到的属性的索引(在propListBox中)。如果未找到,则该函数返回-1。

--------------我的代码------------

  Private Function SearchForm(ByVal startIndex As Integer, 
  ByVal bedroom As Integer, 
  ByVal bathroom As Integer, 
  ByVal propState As String) As Integer

  Dim propFound As Integer
    Dim highIndex As Integer = propListBox.Items.Count - 1

    For propIndex As Integer = propListBox.SelectedIndex To highIndex

        If nBeds(propIndex) = bedroom Or bedroom = 0 Then
            If nBaths(propIndex) = bathroom Or bathroom = 0 Then
                If states(propIndex) = propState Or propState = String.Empty Then
                    propListBox.SelectedIndex = propIndex
                End If
            End If



        Else : MsgBox("Not Found")
        End If
    Next propIndex

    Return propFound
End Function

0 个答案:

没有答案