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

相关推荐
一碗绿豆汤1 分钟前
Java语言概述和开发环境-1
java·开发语言
愈努力俞幸运5 分钟前
rust安装
开发语言·后端·rust
天天进步201528 分钟前
【Nanobrowser源码分析4】交互篇: 从指令到动作:模拟点击、滚动与输入的底层实现
开发语言·javascript·ecmascript
console.log('npc')35 分钟前
vue2中子组件父组件的修改参数
开发语言·前端·javascript
码点36 分钟前
【无标题】日文字库Japan.ini
开发语言
IT=>小脑虎39 分钟前
2026版 Python零基础小白学习知识点【基础版详解】
开发语言·python·学习
wjs20241 小时前
抽象工厂模式
开发语言
lly2024061 小时前
SVG 模糊效果详解
开发语言
期待のcode1 小时前
Java虚拟机类加载机制
java·开发语言
Learner1 小时前
Python运算符
开发语言·python