Lambda解释及它是什么以及一个很好的例子

谁能给我一个很好的解释如何使用Lambda并给出一个很好的例子。 我见过它,但我不知道它是什么或做了什么。

lambda表达式用于创建匿名函数。 这里将匿名函数分配给委托变量:

Func increase = (a => a + 1); 

然后,您可以使用委托来调用该函数:

 var answer = increase(41); 

通常使用lambda表达式将委托发送给方法,例如将委托发送到ForEach方法,以便为列表中的每个元素调用它:

 List list = new List(); list.Add(1); list.Add(2); list.ForEach(n => Console.WriteLine(n)); 

我做了一段时间的post,我希望它可能有用: http : //www.dontcodetired.com/blog/?tag = / lambda+expressions

Lambda只是一个委托,它是一个匿名函数,您可以创建它以供以后执行。

Lambda Expression是一个表达式树forms的未编译委托,您可以在编译和执行之前对其进行操作。

http://msdn.microsoft.com/en-us/library/bb397687.aspx

也许我有点过分了,但是,如果我是你,那么我开始考虑将lambdas视为通过删除嵌套的foreach循环或前n个元素之类的东西缩短代码的好方法。

因此,如果你在经营酒店找一些便宜的房间,你可以(假设IEnumerable酒店):

 cheapHotels = hotels.Where(h => h.PriceFrom < 50) 

一旦开始点击你可以转移到更复杂的东西,这是一个随机的方法,我可以在我当前的项目中找到使用lambdas(可能从其他地方切口!):

 private T DeserializeObject(XmlDocument xDoc, string typeName) { Type type = AppDomain.CurrentDomain.GetAssemblies().SelectMany(a => a.GetTypes()).Single(t => t.FullName == typeName); object o; var serializer = new XmlSerializer(typeof(T)); using (TextReader tr = new StringReader(xDoc.InnerXml)) { o = serializer.Deserialize(tr); tr.Close(); } return (T)o; }