When you use a For Each loop to iterate through a String Array and perform some action with each item, the change doesn’t affect the String Array itself. Consider the following code:
Dim strArray() As String = {"First Item", "Second Item", "Third Item"}' First we are trying to add some more ' text with each item in arrayFor Each strItem As String In strArray strItem &= " some data"Next' Now again iterate through this array to see ' whether the changes has been made or notFor Each strItem As String In strArray Debug.Print(strItem)Next
The output of the above code will be:
First ItemSecond ItemThird Item
As you can see in the output, there is no change in items. Each time the value is copied into the variable, it changes the variable, not the Array item. To make changes in each item, use the For Next loop. For example:
Dim strArray() As String = {"First Item", "Second Item", "Third Item"} ' First we are trying to add some more ' text with each item in array For i As Integer = 0 To strArray.Length - 1 strArray(i) &= " some data"Next' Now again iterate through this array to see' whether the changes has been made or notFor Each strItem As String In strArray Debug.Print(strItem)Next
The output of the above code will be:
First Item some dataSecond Item some dataThird Item some data