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

相关推荐
ctrl_v助手1 分钟前
VisionPro (R) QuickBuild相机的连接
服务器·笔记·数码相机·c#
master33617 分钟前
python 安装pip
开发语言·python·pip
思麟呀18 分钟前
C++14概述与三大核心语法改进
开发语言·c++
shushangyun_22 分钟前
批发商城系统源码多少钱?2026最新报价一览
java·开发语言·人工智能·spring·spring cloud
影视飓风TIM24 分钟前
从C++引用到类封装:底层视角拆解核心语法与面试考点
java·开发语言
江畔柳前堤30 分钟前
github实战指南03-Pull Request 全流程实战
开发语言·人工智能·python·深度学习·github·word
森G32 分钟前
67、Qt 多媒体框架概述---------多媒体
开发语言·qt
葛兰岱尔42 分钟前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity
小小晓.1 小时前
零基础C++小白突破
开发语言·c++
何以解忧,唯有..1 小时前
Go语言类型转换详解:从基础到进阶实践
开发语言·后端·golang