c# - 如何掌握所有C#函数特性?

标签 c# linq lambda

<分区>

我经常在 C# 中使用 lambda(多种风格的 LINQ、ASP.NET MVC 中的强类型助手、AutoMapper API 等),但我无法开始在我自己的代码中使用 C# 函数特性,因为我无法弄清楚我可以用它们做什么很酷的事情。我大部分时间都凭直觉使用它们。

是否有关于此的任何引用或快速(但完整)指南。我不是在寻找 MSDN 引用,而是为了快速解释 C# 的所有功能特性作为一个整体。如果可以将其缩小为包含几个博客文章链接的列表,那也是可以接受的。

问题关闭后更新:看来我的长解释不清楚,所以我会尽量缩小范围:我需要一个概念列表,我可以用它来编写自己的代码(不使用其他人的 API)。接受的答案是我需要的,谢谢。

最佳答案

这是一篇很好的 CodeProject 文章,解释了 C# 中引入的功能特性。它还为每个功能提供了易于理解的示例:

Functional programming in C#

文章提供了函数和一等值的解释和示例:

  • 函数类型 - 委托(delegate)、通用函数类型、谓词、 Action
  • 函数值——存储和传递函数作为参数
  • 函数算术——加减函数

之后,文章讨论了 C# 中的函数式编程,涵盖了以下几点:

  • 使用函数创建通用结构
  • 使用 LINQ
  • 高阶函数——处理其他函数、函数组合的函数
  • 异步函数 - 解释 BeginInvokeIsCompletedEndInvoke 以及使用带回调的异步函数
  • 元组 - 动态数据结构
  • 闭包 - 解释委托(delegate)和 lambda 函数中的变量范围,还解释共享数据和缓存
  • 使用高阶函数递归
  • 部分函数 - 使用默认值减少函数参数的数量
  • Curry 函数 - 将 N 个参数函数分解为 N 个单参数函数

关于c# - 如何掌握所有C#函数特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10966949/

相关文章:

c# - 为什么我的程序没有使用正确版本的 ITextSharp?

c# - Linq表达式替换参数类型

c# - LINQ Group By 以及包含元素的列表的百分比

c++ - 使用 Cereal 序列化 Lambda 函数

ios - Objective C 委托(delegate)或 C 风格的 block 回调?

c# - 如何进一步优化这段代码?

java - 接口(interface)是否应该定义特定于实现的枚举值?

c# - 使用自动增量插入

c# - 来自数据库的 varbinary pdf 已崩溃?

c# - 如何按最相似性/相等性对linq结果进行排序