猜猜下面两部分C#代码的输出是什么:

 (一)

lambda表达式与函数指针        static void Main(string[] args)
        }

 

(二)

lambda表达式与函数指针        static void Main(string[] args)
        }

 

如果你是一个C++程序员, 也许上面并不是个陌生的用法, 因为C++里面可以使用函数指针,如下:

lambda表达式与函数指针#include <iostream> 
lambda表达式与函数指针
using namespace std; 
lambda表达式与函数指针
lambda表达式与函数指针
void Print(int a); 
lambda表达式与函数指针
lambda表达式与函数指针
int main()    
}

 

但是C#里面没有, 不过C#里面有委托. 它起着类似的作用, Lambda表达式的值是委托类型, 第一个例子里面什么输出也没有, Print函数简单返回了一个委托(Action类型), 也可以看作是指向函数Funtion()但是函数本身并没有在这里得到执行。如果你看了第二个例子你也许会更清楚这一点,第二个例子用一句话说就是调用了该Action<int>指向的那个函数。

不过即便是第二种写法,我还是不建议使用,因为它不易阅读,不够“优雅”。 ;-)

 

 

相关文章:

  • 2021-05-20
  • 2022-01-31
  • 2021-09-22
  • 2021-06-10
  • 2022-01-15
  • 2021-04-11
  • 2021-05-15
  • 2021-10-17
猜你喜欢
  • 2022-12-23
  • 2021-09-21
  • 2021-09-27
  • 2022-12-23
  • 2021-07-16
  • 2021-06-11
相关资源
相似解决方案