有人能解释一下lambda和linq之间的区别吗?
请不要指出我的其他堆栈交换答案或简单的解释,我已经检查了大多数,他们是非常混乱.
在这些日子里,我使用了一些LINQ(我相信?)表达式(仅仅是一个发明的例子)
var result = object.Where(e => e.objectParameter > 5).Any()
Run Code Online (Sandbox Code Playgroud)
其中,应返回一个布尔值,表示是否有任何元素> 5.
那么,什么是LINQ和lambda?
LINQ只是一个库,一组函数,由C#团队开发包含
using System.Linq;
Run Code Online (Sandbox Code Playgroud)
它为您提供了一个动力的"for循环",有许多方法可以避免让您的手"变脏"?(首先,FirstOrDefault,Any ....等)
什么是Lambda?和上面一样吗?它是一种语言吗?它是什么以及它与LINQ有何不同?我如何识别这一个或另一个?
谢谢
Nik*_*nte 18
Linq(语言集成查询)可以使用Lambdas(Lambda表达式)但不必使用.
这是Linq:
var a = from b in someList
where b.Value == something
select b;
Run Code Online (Sandbox Code Playgroud)
但是可以用Lambda编写:
var a = someList.Where(b => b.Value == something);
Run Code Online (Sandbox Code Playgroud)
Lambda是b => b.Value == something.
在哪里mock.Setup(m => m.SomeOp()).Returns(new Thing());使用Lambda(the m => m.SomeOp()),但与Linq无关.
Ore*_*aki 11
语言集成查询(LINQ)是Visual Studio 2008中引入的一组功能,它将强大的查询功能扩展到C#和Visual Basic的语言语法
lambda表达式是一个匿名函数,可用于创建委托或表达式树类型.通过使用lambda表达式,您可以编写可以作为参数传递或作为函数调用的值返回的本地函数.
Linq 使用 Lambda表达式来执行它的一些功能.
例:
new [] { "Dan", "Yossi", "Ben" }.Where(item => item.Length == 3);
Run Code Online (Sandbox Code Playgroud)
Lambda表达式:item => item.Length == 3
Linq:(from item in (new [] { "Dan", "Yossi", "Ben" }) where item.Length == 3)
| 归档时间: |
|
| 查看次数: |
16539 次 |
| 最近记录: |