当前位置: 首页 > 编程语言 > C#

“=-”是什么意思?share

时间:2023-04-10 19:34:15 C#

"=>"是什么意思?如果这让新手尖叫,请原谅我,但这在C#中意味着什么?上周我在一次演讲中(我认为)在ORM的上下文中使用了这个运算符。在我回到笔记之前,我并没有真正注意语法的细节。在C#中,lambda运算符写为“=>”(大声朗读时通常发音为“goto”)。这意味着左侧的参数被传递到右侧的代码块(lambda函数/匿名委托)。因此,如果你有一个Func或Action(或者它的任何具有更多类型参数的表兄弟),那么你可以为它们分配一个lambda表达式,而不是需要实例化一个委托或有一个单独的方法来进行惰性处理://createsaFunc以后可以调用Funcf=i=>i因为没有人提到它,在VB.NET中你会使用function关键字而不是=>,像这样:dimfunc=function()true'或dimfunc1=function(x,y)x+ydimresult=func()'结果为真dimresult1=func1(5,2)'结果为7这是声明lambda的简写形式。i=>i++与写作(有点)相同:delegate(inti){i++;}其中:voidDoSomething(ActiondoSomething){doSomething(1);}DoSomething(委托(inti){i++;});//声明一个匿名方法//并将其传递给DoSomething与编写(某种)voidincrement(inti){i++;只是没有给它一个名字,它允许你声明一个内联函数,称为“匿名”函数。当大声说运算符是lambda(goto)运算符时,它有助于定义您在lambda中定义的匿名委托。一个常见的做法是使用事件处理程序。您通常会有一个由lambda处理的页面加载类型事件,代码如下:this.Loaded+=(o,e)=>{//code}您已经定义了一个匿名处理Loaded事件的方法lambda表达式(它没有名字)。它将显示为“o,egoto...用foo定义的方法”。这是“lambda运算符”,您认为它是“goingto”。假设你有语句:doSomething(x=>x+"hi");您可以将“=>”替换为:doSomething(delegate(stringx){returnx+"hi"});如您所见,是的,它提供了一种简写形式。编译器会计算出您传递的变量的类型,并允许您删除函数签名并在传递有符号变量的地方包含代码。它是一个lambda运算符,是lambda表达式的一部分。所有lambda表达式都使用lambda运算符=>,读作“转到”。lambda运算符的左侧指定输入参数(如果有),右侧包含表达式或语句块。lambda表达式x=>x*x读作“xgoestoxtimesx”。它是用于声明匿名函数的语法,在C#中称为“lambda表达式”。例如,(intp)=>p*2表示取一个整数并乘以(intp)=>p*2的函数。以上是C#学习教程:“=>”是什么意思?如果分享的所有内容对您有用,需要了解更多C#学习教程,希望您多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: