我是c#的初学者,并且非常有兴趣通过深入学习语言.最近使用Lambda函数来制作我的代码,但不知道它是如何工作的.
我通过编写硬代码来映射列表中的值.见下文:
var validRatings = new List<int> { 1, 2, 3, 4, 5 };
Run Code Online (Sandbox Code Playgroud)
使用Lambda并且它工作:
var validRatings = settings.grossAlphas.Select(ga => ga.fundRating).ToList();
Run Code Online (Sandbox Code Playgroud)
我理解Lambda函数是匿名的,但它们与常规函数有什么不同?它们如何适应C#中的OOP上下文?
Lambda函数是匿名的,但它们与常规函数有什么不同?
"X和Y有何不同?" 一般来说,StackOverflow不是一个好问题.这里有一棵苹果树和一棵橡树; 他们有什么不同?很难说.
简而言之:
Lambdas可以转换为委托或表达式树.常规函数只能转换为代理.
Lambdas可以表达身体或声明身体.在C#6之前,常规函数只能是声明的.
Lambdas可以从上下文推断出它们的形式参数类型; 常规功能不能.
它们如何适应C#中的OOP环境?
他们没有.Lambdas是函数式编程的一个想法,而不是面向对象编程.OOP的基本思想是功能在逻辑上与数据连接; lambdas恰恰相反.Lambdas是关于函数与数据对象的分离.
如果这不能回答你的问题,那就问一个更明确的问题.你对"oop语境"是什么意思?
归档时间: |
|
查看次数: |
713 次 |
最近记录: |