lambda表达式为何同时可以赋给带返回值和不带返回值的委托?

victarary 2009-11-04 07:55:30

int x = 1;
Action a = () => x++;
Func<int> b = () => x++;

x++在Action和Func<int>上都可以使用,那x++到底返回值没有?
...全文
261 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
BusyDonkey 2010-02-24
  • 打赏
  • 举报
回复
带返回值的Lambda表达式:
(input parameters) => expression
等于Lambda语句:
(input parameters) =>{var result=expression;return result;}
BusyDonkey 2010-02-24
  • 打赏
  • 举报
回复
楼主对于有返回值的Lambda表达式你可以这么来理解:
Func<int> b = () => x++;
等于下面Lambda语句:
Func<int> b = () =>{var result=x++;return result;};
victarary 2009-11-04
  • 打赏
  • 举报
回复
楼上我没听明白....我的意思是说同样一句lambda表达式怎么既可以用于有返回值的委托又可以用无返回值的委托?
hhc123 2009-11-04
  • 打赏
  • 举报
回复
Action 没有返回值
Func<int> b不具有参数但返回b

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧