多くのプログラミングシナリオでは、リスト内の要素を処理する必要があります。ただし、このプロセス中に特定の要素を削除する必要がある場合、標準的な方法に問題がある場合があります。
サイクルでの
の使用は異常を引き起こし、カウンターを減少させて使用すると、現在のセット位置が破壊されます。
foreach
よりエレガントなソリューションは、逆の反復のリストです:.Remove(element)
.RemoveAt(i)
これにより、削除要素がリスト内の現在の位置に影響を与えないことが保証されます。
または、メソッドは、述語に従って要素をフィルタリングできます:
<code class="language-csharp">for (int i = safePendingList.Count - 1; i >= 0; i--) { // 处理元素 // 如需移除元素 // safePendingList.RemoveAt(i); }</code>
次の例では、
サイクル方法の使用を示しています。
RemoveAll
出力:
以上が繰り返しながら、一般的なリストから要素を安全に削除する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。