コガネブログ

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

【C#】配列やリストのすべての要素に対して指定された関数を適用する拡張メソッド

ソースコード

using System;
using System.Collections.Generic;

public static class IEnumerableExtensions
{
    /// <summary>
    /// リストのすべての要素に対して指定された関数を適用します
    /// </summary>
    public static void Apply<T>( this IList<T> list, Func<T, int, T> func )
    {
        for ( int i = 0; i < list.Count; i++ )
        {
            list[ i ] = func( list[ i ], i );
        }
    }
    
    /// <summary>
    /// リストのすべての要素に対して指定された関数を適用します
    /// </summary>
    public static void Apply<T>( this IList<T> list, Func<T, T> func )
    {
        for ( int i = 0; i < list.Count; i++ )
        {
            list[ i ] = func( list[ i ] );
        }
    }
}

関連記事