c# - 什么是设备以及如何使用 lambda 表达式?

标签 c# lambda

<分区>

我读到 Lambda 表达式是对 C# 的一个非常强大的补充,但我发现自己对它们感到困惑。他们如何改善我的生活或使我的代码更好?谁能指出学习此类表达的好资源?

它们看起来很酷,但它们与我作为 asp.net 开发人员的日常生活有何关系?

编辑:感谢提供示例,并感谢 Eric White 文章的链接。我现在还在消化那些。一个简单的问题:除了查询之外,lambda 表达式是否还有用?我见过的每个示例都是一个查询结构。

最佳答案

: are lambda expressions useful for anything other than querying

Lamba 表达式只不过是一种“内联”编写函数的便捷方式。

所以它们在任何你想要一些代码的地方都很有用,这些代码可以被调用,就像它是一个单独的函数一样,但实际上是在它的调用者内部编写的。 (除了将相关代码保存在文件中的同一位置之外,这还允许您玩具有可变作用域的有趣游戏 - 请参阅“闭包”以获取引用。)

与查询无关的使用 lamba 的示例可能是一段代码,它以 ThreadPool.QueueUserWorkItem 开始异步执行某些操作。重要的一点是,您还可以使用匿名委托(delegate)(这是 C#2 的介绍)或只是一个简单的独立类成员函数来编写它。

http://blogs.msdn.com/jomo_fisher/archive/2005/09/13/464884.aspx是对所有这些内容的精彩逐步介绍,可能会对您有所帮助。

关于c# - 什么是设备以及如何使用 lambda 表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25376/

相关文章:

c# - 使用 LINQ 按值过滤字典时遇到麻烦

c# - asp.net 母版页 css 不适用于 asp 表单页面

.net - 在单行 lambda 表达式中使用 function 而不是 sub 导致的错误

c++ - 为什么 C++1 1's lambda require "mutable"关键字默认用于按值捕获?

python - 如何在不使用内置 map 或星图的情况下编写类似星图的函数?

c# - 使用 LINQ 删除重复项会返回 "Error removing duplicates: Unable to cast object of type ' System.Int3 2' to type ' System.String'。”

c# - Json.Net 反序列化以索引为名称的 JSON 对象

c# - 我可以从 ClickOnce 部署文件中检索证书信息吗?

lambda - 基于 lambda 表达式创建匿名类型

java - 使用Optional.of()方法进行方法链接是个好主意吗?