运动鞋批发网 > 知识库 >

拉姆达表达式

来源:运动鞋批发网时间:2023-09-12 00:18:59编辑:运动君

拉姆达表达式

让我们先看一个简单的拉姆达表达式:

x=>x/2

这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值。

通过这个拉姆达表达式,我们可以看到:

这个表达式没有任何类型信息,但这并不代表拉姆达表达式是和类型无关的。在实际运用上,编译器会根据表达式的上下文判断上述x的类型及返回值的类型。例如:

using System

using System.Linq

public class LambdaTest

{

static void Main() {

Func<int, double> expr=x=> x / 2

int someNumber=9

Console.WriteLine( "Result: {0}", expr(someNumber) )

}

}

上述代码中,加粗部分为拉姆达表达式。Func<>为 delegate System.Func<T,TResult>

上述运行结果为:Result:4

根据我们学习的数学知识,9/2应当结果是4.5,为什么上述结果会是4而不是4.5呢是因为x是整型,x/2的结果也是整型,虽然在上述我们拉姆达表达式中,我们指明结果是double,但x/2这个表达式,由于x是整型,故计算出来的结果已被截掉小数,然后再转换为double,故结果是4,而不是4.5

要使结果是4.5,则只需定义上述相关语句为 Func<double,double> expr=x=> x / 2 即可。

无参数的拉姆达表达式:

using System

using System.Linq

public class LambdaTest

{

static void Main() {

int counter=0

WriteStream( ()=> counter++ )

Console.WriteLine( "Final value of counter: {0}",counter )

}

static void WriteStream( Func<int> counter ) {

for( int i=0 i < 10 ++i ) {

Console.Write( "{0}, ", counter() )

}

Console.WriteLine()

}

}

拉姆达表达式详细解释(lam函数表达什么意思)

拉姆达表达式详细解释

1、让我们先看一个简单的拉姆达表达式:

2、x=>x/2

3、这个表达式的意思是:x为参数,对x进行相应的操作后的结果作为返回值。

4、通过这个拉姆达表达式,我们可以看到:

5、这个表达式没有任何类型信息,但这并不代表拉姆达表达式是和类型无关的。

6、在实际运用上,编译器会根据表达式的上下文判断上述x的类型及返回值的类型。

8、using System;

9、using System.Linq;

10、public class LambdaTest

11、 static void Main() {

lam函数表达什么意思

lambda 函数是一个可以接收任意多个参数(包括可选参数)并且返回单个表达式值的匿名函数。

上一篇:开口扳手规格型号

下一篇:没有了

相关推荐

热门头条