Hi,


I’m developing is ASP.NET/VB.NET. I’m having problems while searching for an
element in an ArrayList. What I have is:

*firstArray*: it’s an ArrayList; contains strings; each string in this array
will be concatenated with the string in the *MyCheckBoxlist*; its size is
161

*MyCheckBoxList*: its size is 5

secondArray: it’s an ArrayList; contains string; its values are being
retrieve from the Database; its size is 866



What I’m doing is: each element of *firstArray* is concatenated with each
element of *MyCheckBoxList*; then I check if the result of this
concatenation is found in the *secondArray*; if so I remove this element
from *secondArray*.



The problem is: In theory, the result of looping through the two for loops
should delete 161 x 5 = 805 elements from *secondArray* (I checked both
arrays and they are with the correct elements). But what I have in the end
of both loops is a totally different result: only 152 elements are being
deleted from *secondArray*. I’m debugging and there’s a point where
*str*exists in the
*secondArray*, but *secondArray.Contains(str)* is false. Does anyone have
any idea about what is happening? I can’t figure it out!! I appreciate any
help. Thanks in advance for all replies!



Follows my code:



Dim myCount As Integer = 0

            For w As Integer = 0 To firstArray.Count - 1

                Dim currentStr As String = firstArray.Item(w)

                If currentStr.Contains("myString") Then

                    type = "type1"

                Else

                    type = "type2"

                End If

                For z As Integer = 0 To MyCheckBoxList.Items.Count - 1

                    Dim str As String = type + currentStr +
MyCheckBoxList.Items(z).

                    If secondArray.Contains(str) = True Then

                        secondArray.Remove(str)

                        myCount = myCount + 1

                    End If

                Next

            Next


Ana

Reply via email to