title: Visual Studio (List.Count - 1) = List.Count
body: <p>I've been trying around for a bit now and I'm totally confused why my program behaves this way.
  I tried to search on google and here but maybe I just have trouble phrasing my question right or I'm the only one with this problem.</p>
  
  <p>Anyways, so here's my problem:</p>
  
  <pre><code>Protected myList as List(Of CustomClass) = new List(Of CustomClass)
  
  Public Sub mySub()
      Dim ListCount as Integer = myList.Count
      ListCount = ListCount - 1
      For i As Integer = 0 To ListCount Step 1
          If myList(i).MyStatus = FMyStatus Then
               myList(i).MyFunction.Invoke()
               myList.RemoveAt(i)
          End If
      Next
  End Sub
  </code></pre>
  
  <p>This throws me an exception all the time that i is larger than the myList-index.
  The problem is that ListCount even though I reduced it by 1 still stays the same, it's not possible to reduce it by 1.
  But if I for example reduce it by 2, it's totally fine and does it stuff.</p>
  
  <p>Is this common? Did I miss on something? I already tried to find something on the msdn website for the List.Count Property but wasn't able to find something that explains me why I can't reduce the value by 1.</p>
  
  <p>Hope you guys can enlighten me.
  Cheers.</p>