当前位置:编程学习 > C#/ASP.NET >>

关于Lambda表达式的返回值

如果委托具有void返回值类型,并且Lambda表达式是一个表达式,若二者的参数一致,则Lambda表达式的表达式体必须是一个可接受为statement-expression的有效表达式;


请问,statement-expression的有效表达式是啥意思?读不懂呢
请举例说明
谢谢!!! --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答--------------------
引用楼主 dfsd43rff 的回复:
如果委托具有void返回值类型,并且Lambda表达式是一个表达式,若二者的参数一致,则Lambda表达式的表达式体必须是一个可接受为statement-expression的有效表达式;


请问,statement-expression的有效表达式是啥意思?读不懂呢
请举例说明
谢谢!!!


这个是LINQ中的吧...

相当于可以在方法()中使用表达式呀

string[] names = { "Jesse", "Donald", "Douglas" };
var dNames = names.Where(n => n.StartsWith("D")); --------------------编程问答--------------------
引用楼主 dfsd43rff 的回复:
如果委托具有void返回值类型,并且Lambda表达式是一个表达式,若二者的参数一致,则Lambda表达式的表达式体必须是一个可接受为statement-expression的有效表达式;


请问,statement-expression的有效表达式是啥意思?读不懂呢
请举例说明
谢谢!!!


比如写“x>1”这样的表达式。

这句话是说,该写表达式的地方不能是空的,也不能是不成表达式(例如写一个if语句)。

其实大白话很好理解,换成搞电脑的人的语言就罗嗦了。 --------------------编程问答-------------------- 表达式总要返回bool值。c#支持的可带语句的表达式比如说
{if(x>1)
  return true;

  return y==8;
}

这个语句总是返回bool值,所以c#编译器可以把它隐含地编译为一个表达式函数,而你不需要显示地另外写一个函数来实现它。
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,