新生鳩丸掲示板♯

bakera.jp > 新生鳩丸掲示板♯ > スレッド内全記事表示 (記事 4954 からのスレッド)

スレッド内全記事表示 (記事 4954 からのスレッド)

[4954] Re: 「ラムダ式のメモ」

ムラサキドラゴン (2008年8月13日 1時8分)

はじめまして。今後よろしくお願いします。

いきなり本題ですが、ここでExtension Methodの出番ですよ。

public static class Ext {

public static void ForEach<T>(this IEnumerable<T> iterator, Action<T> action) {

foreach (var i in iterator) {

action(i);

}

}

}

(indentのつけ方が分からないので、読みにくくてすみません)

みたいに定義しておくと

array.ForEach(...);

と似非カリー化っぽくなります。

標準で定義されていないのは何か理由がありそうですが、脳みそが不自由なのでよく分かりません。

教えてエライ人。

[4957] Re: 「ラムダ式のメモ」

ばけら (2008年8月17日 2時5分)

>はじめまして。今後よろしくお願いします。

>いきなり本題ですが、ここでExtension Methodの出番ですよ。

 なるほど、Extension Method のこういう使い方も良いかもしれないですね。

# ちなみに個人的には Array.ForEach(array, action) よりも Array.Sort(array) のほうが気持ち悪いと思ったりしています。うっかり array.Sort() と書いてしまうのですよね……。

最近の日記

関わった本など