PCがあれば何でもできる!

へっぽこアラサープログラマーが、覚えたての知識を得意げにお届けします

【C#】ラムダ式、LINQ、遅延評価を理解したいときにオススメの書籍「 C#プログラムの効率的な書き方」

C#のラムダ式、LINQ、遅延評価について、詳しく知りたい方向けに、こちらの本をご紹介します。

川俣 晶さんの「【省エネ対応】 C#プログラムの効率的な書き方」という本です。

 

一昨年くらいに本屋でタイトルを見かけ、あやしい本だな(笑)と手に取ったのですが、読んでみるとかなりの良書で、30分近く読み耽った挙句、購入しちゃいました。

中身はLINQ to Objects絡みの各メソッドについて、解説から実例まで、とても完結にわかりやすくまとまっています。
さらに、各メソッドが遅延評価か否かや、遅延評価の利点についても解説しているので、下手な書き方で処理を重くしてしまうことも防げます。(逆に言えば、知らないで適当に書いてしまうと、何倍も遅くなる可能性がある)

私は、これを読んで、ループ処理の概念がガラッと変わりました! 場合にもよりますが、そもそもループを使うことがナンセンスに感じるまでになりました。

中でも特に恩恵を受けたのはDataTable周りの操作です。DataTableに対し、ループを使わず、まるでSQLで操作するかのように、Where、GroupBy、OrderBy等をかけられるというのは、衝撃的でした。

配列やコレクションの操作が、関数型言語に通じるものがあるので、関数型言語にあまり馴染みのない方も、入門として良いかもしれません。

本自体はやや分厚目で、ぱっと見、全部読むのに気が重い感じですが、楽しみながらさらっと読めるので、意気込む必要もありません。

ぜひ本屋などで見かけた時は、試しに読んでみてください。
きっと、レジに持って行きたくなると思いますよ!

※一点だけ本に載っていない注意点を書いておくと、DataTableを操作する際は、LINQのWhereメソッドと、DataTableのSelectメソッド(またはDataViewのRowFilterプロパティ)のどちらを使うかは、きちんと選択する必要があります。後者は一度使うとインデックスが生成されるため、2度目から検索速度が早くなる代わりに、登録速度が遅くなります。