ふらっとC#,C♯,C#( ..
[2ch|▼Menu]
75:デフォルトの名無しさん
08/01/13 17:13:08
 配列の巡回を持った言語ならC#に限らない話だと思うのですが、
foreach中に配列の要素を消したい時、一番スマートなやり方としてはどんな物が有るでしょうか?
 どうしてもforeachが2回以上必要な気がします。
 プログラミングがうまい人ならもっとマシな方法をしていませんでしょうか?
下に目的の代換えソースを書いてみました。


//あまり綺麗では無いと思う例---
/*
 「予期しない動作を防ぐため、コレクション内容の変更には使用しないでください。」という制限の為
削除する要素へのキーを別途用意した配列に入れてその配列を"又"foreachしています。
*/
foreach(OBJ val in table)
{
 if (val.needDel) delArray.Add(val.key);
}

foreach(key key in delArray) //
{
 table.Remove(key)
}
delArray.Clear()



次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4967日前に更新/230 KB
担当:undef