函数式编程-记忆化缓存

记忆化,是一种为了提高应用程序性能的FP技术。程序加速是通过缓存函数的结果实现的,避免了重复计算带来的额外开销。

1、现在我们使用Dictionary作为缓存结构

1 public static Func<T, R> Memoize<T, R>(Func<T, R> func) 2 where T : IComparable 3 { 4 Dictionary<T, R> cache = new Dictionary<T, R>(); 5 return arg => 6 { 7 if (cache.ContainsKey(arg)) 8 return cache[arg]; 9 return (cache[arg] = func(arg)); 10 }; 11 }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygfpz.html