Quantcast
Channel: かずきのBlog@hatena
Viewing all articles
Browse latest Browse all 1387

LINQのメソッド構文、クエリ式の構文

$
0
0

LINQってメソッド構文とクエリ式の構文の2つがあります。どっち使います?という話ですが個人的な見解として、メソッド構文がLINQの全機能にフルアクセスできるという点でメソッド構文を使用しています。 LINQのメソッド構文とクエリ式の構文の対応は以下のページにまとまっています。

Query Expression Syntax for Standard Query Operators

ちなみにクエリ式の構文のメリットとしては多段SelectManyが見やすいという点があります。

var a = from h in hoge
    from f in fuga
    from b in bar
    select new { h, f, b };

メソッド構文だとこういう感じになる。

var a = hoge.SelectMany(_ => fuga, (h, f) => new { h, f })
    .SelectMany(_ => bar, (hf, b) => new { hf.h, hf.f, b });

これの数がちょっと増えてくるとSelectManyのメソッド構文のほうがつらくなってきます。といっても、SelectManyを、超たくさん書くことって限られてるので、そんなに困ることはないです。

ということで、メソッド構文推しですよ!という話しでした。


Viewing all articles
Browse latest Browse all 1387

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>