Linqで快適な生活を
LinqにはSelectやAllなど便利なメソッドがいくつもあるのですが、中でも自分のお気に入りはAggregateです。例えば、リスト内で最大の値を持つ要素のIndexを知りたい場合は以下のように書くことが出来ます。
var l = new List<int>() {3, 1, 5, 4, 2};
var maxIdx = l.Select((val, idx) => new { V = val, I = Idx }).Aggregate((max, working) => (max.V > working.V) ? max : working).I;
// maxIdx は 2となる
上記の例では、OrderByDescendingを使った方が分かりやすいかもしれませんが、もっと複雑な条件にも対応できるのがAggregateの良いところですね。Dictionaryなどにも対応できるので、今日も快適な生活を送れます。また、途中の無名クラスへのselectも常套手段だったりします。
Author And Source
この問題について(Linqで快適な生活を), 我々は、より多くの情報をここで見つけました https://qiita.com/Go-zen-chu/items/b546d01fd14ca818d00d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .