title: SerialPort.Close() removes the serial port from components.Components
body: <p>In C#, I have a <code>System.IO.Ports.SerialPort</code> component on my Windows form. I have several places in my code in which I loop like so:</p>
  
  <pre><code>foreach (SerialPort in components.Components)
  {
      // Do something.
  }
  </code></pre>
  
  <p>But each SerialPort is removed from the <code>components.Components</code> class when I run a <code>mySerialPort.Close()</code>, so it is missed by all subsequent loops. Is this a bug? Or is this intentional? Why would it behave like that by design?</p>
  
  <p>The internal documentation says that the <code>Close()</code> method only disposes of the <code>Stream</code> object within.</p>