C#ではSystem.IO.Ports.SerialPort、Windowsフォームにコンポーネントがあります。私のコードには、次のようにループする場所がいくつかあります。
foreach (SerialPort in components.Components)
{
// Do something.
}
ただし、を実行すると、各SerialPortがcomponents.Componentsクラスから削除されるmySerialPort.Close()ため、後続のすべてのループで失われます。これはバグですか?それともこれは意図的なものですか?なぜそれは設計上そのように振る舞うのでしょうか?
内部ドキュメントには、メソッドはオブジェクトを内部Close()でのみ破棄すると記載されています。Stream