テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

ラムダ式

ラムダ式はけっこう使ってみると便利だ。行数少なく処理が書けるし、メソッドがあちこちに飛ばないので少しだけ読みやすくなる。


ラムダ式

ラムダ式LINQのSelectやらデリゲートを簡単に書けるC#の構文らしい。
簡単に言えば、デリゲートやイベントのメソッド部分をそのまま書ける構文で、下のように書く

(引数) => { 処理 }
(引数, 引数) => {処理}


1と2は同じ処理。

またFindにラムダ式を入れることで、特定の因子だけを取り出す事もできるらしい。
文法はこんな感じ。
List t = FindAll( (引数) => 条件 );

例えば、ActiveなGameObjectを一覧から取得する場合、下のように書ける。


■何の役に立つのか

簡単に言えば処理と機能を分割出来る。しかもかなりダイナミックに。
例えばWWWのダウンロードを行い、その結果を使って何かするタイプのプログラムを作るとして、ダウンロードするURL毎にメソッドを書かずとも、引数+結果だけを書くような記述ができる。


これでWWWのyieldで待つような部分を全部共有して結果だけを取得できるように成る。勿論デリゲート的にメソッドを書いたほうが良いケースも多いし、そこはケースバイケース。
ただ、こういった書き方もあるって事で。