page contents

C语言面试题|请实现一个函数 Compose用于将多个函数复合

轩辕小不懂 发布于 2021-04-19 14:50
阅读 667
收藏 0
分类:C/C++开发
650
Pack
Pack
  1. publicstaticFunc<T1, T3>Compose<T1, T2, T3>(thisFunc<T1, T2> f1,Func<T2, T3> f2)

  2. {

  3. return x => f2(f1(x));

  4. }

    然后使用方式:

    1. Func<int,double> log2 = x =>Math.Log2(x);

    2. Func<double,string> toString = x => x.ToString();


    3. var log2ToString = log2.Compose(toString);


    4. Console.WriteLine(log2ToString(16));// 4

请先 登录 后评论