リストをデリゲートが返す値で埋め尽くす では、リストをデリゲート(ラムダ式)の値で初期化する拡張メソッドを 示しましたが、今度は、既にリスト内にセットされている値に対し、ラムダ式を適用し、 新たな値をセットする拡張メソッドを示します。 public static class IListExtentions { public static void Apply<T>(this IList<T> list, Func<int, T, T> func) { for (int i = 0; i < list.Count; i++) { list[i] = func(i, list[i]); } } } この拡張メソッドを利用したコードです。 List<int> list = new List<int>() {100,200,300,400}; list.Apply((i, val) => (int