ListのForEachメソッドと言うのがあります。

List tTexts = new List();
foreach(string tText in tTexts)
{
    // なんらかの処理
}

というようなプログラムを

tTexts.ForEach(/* 何らかの処理 */);

と書けます。

全ての要素に対してDoメソッドを呼び出す場合

List tList;
tList.ForEach(delegate(xxx xxx){xxx.Do();});

と書き換えることができます。これだけだと、まずforeach()の方が見やすいですけど。
Actionのように良く利用する処理を切り出せるなら可読性も上がってよいかもしれません。
List.Sort(Compare)と似たような感じですね。

カテゴリー: 技術情報

1件のコメント

squld · 2007-08-14 13:50

foreachは返値の無いmapですな。
ついでにreduceって言うのも覚えておくと良いかも。

具体的な内容は別エントリでまとめたので、どうぞ。C#でMapReduce

現在コメントは受け付けていません。