//预计算和缓存示例 static void Main(string[] args) { //第一种方法 var add = CalcFunc(); Console.WriteLine(add(10)(20)); var add30 = add(30); var add40 = add30(40); Console.WriteLine(add40); Console.Read(); } // 定义函数,返回一个调用函数 static Func<int, Func<int, int>> CalcFunc() { return x => { return y => x + y; }; }
//预计算和缓存示例 static void Main(string[] args) { List<string > list = new List<string>(); list.Add("one"); list.Add("two"); list.Add("three"); list.Add("four"); var fun1 = FindStr(list); Console.WriteLine(fun1("two")); Console.Read(); } //作用缓冲 static Func<string , bool> FindStr(List<string > lst) { HashSet<string > hsSet = new HashSet<string >(lst); return item => { return hsSet.Contains(item); }; }