« 日本は今後20年以内に戦争をするだろうな | トップページ | [C#]R.NETを使う(導入) »

[C#]匿名クラスのIEnumerableオブジェクトから、あるフィールドが最大となる要素を取得する

var max = Enumerable.Range(0, 100)
    .Select(i => new { name = "name_" + i, value = 50 - Math.Abs(i - 50) })
    .Aggregate((now_max, item) => (now_max.value >= item.value) ? now_max : item);
Console.WriteLine(max.name);

3行目、各要素(item)を、ある時点で最大とされる要素(now_max)と、valueフィールドで比較する。
IEnumerable<T>のMaxでは、上記のようなことが出来ないのが残念。

« 日本は今後20年以内に戦争をするだろうな | トップページ | [C#]R.NETを使う(導入) »

C# メモ書き」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

« 日本は今後20年以内に戦争をするだろうな | トップページ | [C#]R.NETを使う(導入) »

2019年10月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
無料ブログはココログ