C# 委托——Func<>
Func<>,Action<> 都是微软给我们定义好的委托(delegate)
简单使用
1.Func委托必须要求所接收的方法有一个返回值
2.Action委托接受一个没有返回值的方法 应用:在跨线程访问可视化控件的时候经常使用
这个Func是内置的,你可以F12,查看具体的内容:
Func<>微软给我们定义了可放置的参数,Func<>这个是一定有返回值的 out RTResult,Func<>因为一定有返回值,你可以看到<>里面会有in(传入参数),out (传出参数),in一共可以放16个
再看Action<>:
Func<>和Action<>二者对比:
Func必须有返回值,Action没有返回值;这里两个最多可以有16个输入参数(in T);
先看Func的简写和我们常规写法,两个写法一样,Func的更加简洁
下面这张图,你应该能明白lambda的用法和意义了,