C#基础进阶

C#基础进阶

泛型

http://www.runoob.com/csharp/csharp-generic.html

匿名函数

http://www.runoob.com/csharp/csharp-anonymous-methods.html

扩展方法

https://blog.csdn.net/u011127019/article/details/54728886

https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/classes-and-structs/extension-methods

(1)如果扩展方法与该类型中定义的方法具有相同的签名,则扩展方法永远不会被调用。

(2)扩展方法不能和调用的方法放到同一个类中

(3)第一个参数必须要,并且必须是this,这是扩展方法的标识。如果方法里面还要传入其他参数,可以在后面追加参数

(4)扩展方法所在的类必须是静态类

Where, LINQ , IEnumerable, IQueryable

委托(Delegate)

http://www.runoob.com/csharp/csharp-delegate.html

C#内置的委托

复制代码
Action、Action<T>、Func<T>、Predicate<T>
https://www.cnblogs.com/maitian-lf/p/3671782.html

lambda表达式

(参数) => {操作}

Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数

https://blog.csdn.net/ylbs110/article/details/50741123

https://docs.microsoft.com/zh-cn/dotnet/csharp/programming-guide/statements-expressions-operators/lambda-expressions

表达式树

https://blog.csdn.net/wlk1229/article/details/80012079

System.Linq.Expressions

Expression<Func<int, int,bool>> fun = (x, y) => x < y

推荐书籍: 《深入理解C#》

基于任务的异步模式 (TAP)

C#异步编程模式

https://blog.csdn.net/kebi007/article/details/76899078

.NET Framework提供了执行异步操作的三种模式:

<不再推荐>异步编程模型(APM)模式(也称为IAsyncResult的模式),其中异步操作要求Begin和End方法(例如,BeginWrite和EndWrite异步写入操作)。这种模式不再被推荐用于新的开发。

<不再推荐>基于事件的异步模式(EAP),它需要一个具有Async后缀的方法,并且还需要一个或多个事件,事件处理程序委托类型和被EventArg派生类型。EAP在.NET Framework 2.0中引入。不再推荐用于新的开发。

基于任务的异步模式(TAP)

它使用单一方法来表示异步操作的启动和完成。TAP在.NET Framework 4中引入,是.NET Framework中推荐的异步编程方法。C#中的async和等待关键字,Visual Basic语言中的Async和Await运算符为TAP添加语言支持。有关更多信息,请参阅基于任务的异步模式(TAP)。

https://docs.microsoft.com/zh-cn/dotnet/standard/asynchronous-programming-patterns/task-based-asynchronous-pattern-tap

"async"和"await"关键字

https://www.cnblogs.com/powertoolsteam/p/async.html

相关推荐
陈文锦丫20 小时前
MQ的学习
java·开发语言
liwulin050620 小时前
【PYTHON-YOLOV8N】如何自定义数据集
开发语言·python·yolo
青蛙大侠公主20 小时前
Thread及其相关类
java·开发语言
爱吃大芒果20 小时前
Flutter 主题与深色模式:全局样式统一与动态切换
开发语言·javascript·flutter·ecmascript·gitcode
云栖梦泽21 小时前
易语言数据库操作:结构化数据管理的核心
开发语言
电子硬件笔记21 小时前
Python语言编程导论第七章 数据结构
开发语言·数据结构·python
南棱笑笑生21 小时前
20251217给飞凌OK3588-C开发板适配Rockchip原厂的Buildroot【linux-5.10】后调通ov5645【只能预览】
linux·c语言·开发语言·rockchip
ulias21221 小时前
C++ 的容器适配器——从stack/queue看
开发语言·c++
Amewin1 天前
window 11 安装pyenv-win管理不同的版本的python
开发语言·python
lionliu05191 天前
WebAssembly (Wasm)
java·开发语言·wasm