コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【C#】最大値を持つ要素を全て返す拡張メソッド

ソースコード

using System;
using System.Collections.Generic;
using System.Linq;

public static class IEnumerableExtensions
{
    public static IEnumerable<TSource> MaxElementsBy<TSource, TResult>(
        this IEnumerable<TSource> source,
        Func<TSource, TResult> selector
    )
    {
        var value = source.Max( selector );
        return source.Where( c => selector( c ).Equals( value ) );
    }
}

関連記事