笔记源于课堂编写:BiliBili
源视频教程:https://www.bilibili.com/video/BV1wx411K7rb

第P18课:传值/输出/引用/数组/具名/可选参数/扩展方法

1.值参数

001.1-C#语言入门详解 - 图1

2.引用参数

001.1-C#语言入门详解 - 图2

3.输出参数

001.1-C#语言入门详解 - 图3





第P19课:委托详解

1.什么是委托?

  • 委托(delegate)是函数指针的”升级版”
  • 一切皆地址
    • 变量(数据)是以某个地址为起点的一段内存中所存储的值
    • 函数(算法)是以某个地址为起点的一段内存中存储的一组机器语言指令
  • 直接调用和间接调用
    • 直接调用:通过函数名来调用,CPU通过函数名直接获取函数所在地址并开始执行——>返回
    • 间接调用:通过函数指针来调用,CPU通过读取函数指针存储的值来获得函数所在地址并开始执行——>返回
    • JAVA中没有委托性对应的功能实体
  • 委托的简单使用
    • Action委托
    • Func委托

2.委托的声明(自定义委托)

  • 委托是一种类(class),类似数据类型,所以委托也是一种数据类型
  • 他的声明方式与一般的类不同,主要是为了照顾可读性和c/c++传统。
  • 注意声明委托的位置
  • 避免写错地方结果声明成嵌套类型
  • 委托与所封装的方法必须”类型兼容”

001.1-C#语言入门详解 - 图4

3.委托的一般使用

001.1-C#语言入门详解 - 图5

4.委托的高级使用——多播委托

001.1-C#语言入门详解 - 图6

5.什么是接口和抽行类?

001.1-C#语言入门详解 - 图7

6.接口与单元测试

001.1-C#语言入门详解 - 图8

7.单元测试:断言成功

001.1-C#语言入门详解 - 图9
//另外一种方式
001.1-C#语言入门详解 - 图10

8.依赖注入

1.安装NuGet
001.1-C#语言入门详解 - 图11
2.导入命名空间
using System.Reflection;
using Microsoft.Extensions.DependencyInjection;

9.泛型

001.1-C#语言入门详解 - 图12
001.1-C#语言入门详解 - 图13
下一篇

001.2-C#异步编程基础