' A Replace routine that works through all the items of the input array
'
' Example:
' Dim arr As Integer() = {3, 7, 8, 2, 7, 0, 9, 7}
' ArrayReplace(arr, 7, 100)
' Dim o As Object
' For Each o In arr
' Debug.Write(o & " ")
' Next
' Debug.WriteLine("")
Sub ArrayReplace(ByVal arr As Array, ByVal search As Object, _
ByVal repl As Object)
ArrayReplace(arr, search, repl, arr.GetLowerBound(0), arr.GetUpperBound(0))
End Sub
' This overloaded version allows you to specify which portion of the array
' should be considered
Sub ArrayReplace(ByVal arr As Array, ByVal search As Object, _
ByVal repl As Object, ByVal first As Integer, ByVal last As Integer)
Dim exitLoop As Boolean
Do
' search the array for the specified object
Dim i As Integer = Array.IndexOf(arr, search, first, last - first + 1)
' if found, replace it and keep searching
If i > -1 Then
arr.SetValue(repl, i)
Else
' otherwise exit the loop
exitLoop = True
End If
Loop Until exitLoop
End Sub