charlie charlie - 5 months ago 37
Vb.net Question

Exit For in vb.net will not exit

I have these for loops:

For x = search_phone.Length To 0 Step -1
For m = 1 To number_call_costs
If search_phone.Substring(0, x) = call_costs_data(m, 2) Then
match = True

customer_cost = callcost_lookup("sequence", call_costs_data(m, 1), customer_sequence, "cost")
customer_connection = callcost_lookup("sequence", call_costs_data(m, 1), customer_sequence, "connection")
description = call_costs_data(m, 3)
MsgBox(call_costs_data(m, 3))
Exit For
Exit For
End If
Next
Next


the data i am testing with is:

search_phone = '101'
call_costs_data(m, 2) = one row is '1' and another row is '101'


its matching
search_phone
to
101
in the loop but its not exiting, because its matching again to
1

Answer

That second exit won't be reach, so try it like this:

For x As Integer = search_phone.Length To 0 Step -1
  match = False
  For m As Integer = 1 To number_call_costs
    If search_phone.Substring(0, x) = call_costs_data(m, 2) Then
      match = True
      '// code...
      Exit For
    End If
  Next
  If match Then
    Exit For
  End If
Next
Comments