url: http://csharptan.wordpress.com/2011/12/24/%e3%83%a1%e3%82%bf%e3%83%97%e3%83%ad%e3%82%b0%e3%83%a9%e3%83%9f%e3%83%b3%e3%82%b0/
snippet:
-----引用-----
プログラミングには、「こういう場面はこう書くべきです」というようなパターンがつきものです。
「このパターン通りに書け」だと意識の高い人しか実践してくれませんが、「この文法使うと便利だよ」なら割とみんな使ってくれます。
C#にはそんな、パターンだったものを文法化したものがいくつかあります。
イベント
C#の場合、オブザーバー パターンに相当する機能は、イベント構文という専用の構文があって、1行で書けます。
public event EventHandler<int> Progress;
イテレーター
C#にはイテレーター構文というものがあって、このパターンを劇的に簡素化できます。以下の通りです。
public static IEnumerable<T> Where<T>(IEnumerable<T> source, Func<T, bool> cond)
{
foreach (var x in source)
if (cond(x))
yield return x;
}
-----引用-----
0 件のコメント:
コメントを投稿