本文主要是介绍字典缓存与函数的互调,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Add a new file inside the Hello directory named FibonacciGenerator.cs with the following code:C# = 复制
using System;
using System.Collections.Generic;namespace Hello
{public class FibonacciGenerator{private Dictionary<int, int> _cache = new Dictionary<int, int>();private int Fib(int n) => n < 2 ? n : FibValue(n - 1) + FibValue(n - 2);private int FibValue(int n){if (!_cache.ContainsKey(n)){_cache.Add(n, Fib(n));}return _cache[n];}public IEnumerable<int> Generate(int n){for (int i = 0; i < n; i++){yield return FibValue(i);}}}
}2.Change the Main method in your Program.cs file to instantiate the new class and call its method as in the following example:C# = 复制
using System;namespace Hello
{class Program{static void Main(string[] args){var generator = new FibonacciGenerator();foreach (var digit in generator.Generate(15)){Console.WriteLine(digit);}}}
}
这篇关于字典缓存与函数的互调的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!