摘要: 反射的概念 程序正在运行时,可以查看其他程序集或者自身的元数据 一个运行的程序查看本身或者其他程序元数据的行为就叫反射 反射的作用 反射可以在程序编译后获得信息,提高程序的拓展和灵活性 class Test { private int i =1; public int j =0; public st 阅读全文
posted @ 2025-03-14 16:59 cannedmint 阅读(6) 评论(0) 推荐(0)
摘要: 什么是编译器 将源语言程序翻译为目标语言程序 源语言程序:Csharp,C++等 目标语言程序:二进制数表示的伪机器代码写的程序 预处理器指令 预处理器指令指导编译器在实际编译开始之前对信息进行预处理 预处理器指令都是以#开始 预处理器指令不是语句,所以它们不以分号结束 折叠代码块就是预处理器指令 阅读全文
posted @ 2025-03-14 15:51 cannedmint 阅读(12) 评论(0) 推荐(0)
摘要: 线程 操作系统能够进行运算调度的最小单位 它被包含在进程之中,是进程中的实际运作单位 多线程 可以通过代码开启新的线程,可以同时运行代码的多条管道就叫多线程 多线程相关语法 //线程类 Thread //申明一个新的线程 //线程执行的代码需要封装到一个函数中 static void NewThre 阅读全文
posted @ 2025-03-14 14:26 cannedmint 阅读(5) 评论(0) 推荐(0)
摘要: 协变逆变 协变: 因为父类可以装子类,所以子类变成父类是协变 比如 string 变成 object 逆变: 父类可以装子类,但子类不能装父类,所以父类变成子类是逆变 比如 object 变成 string 协变和逆变是用来修饰泛型的 协变: out 逆变: in 用于在泛型中修饰泛型字母,只有泛型 阅读全文
posted @ 2025-03-14 13:36 cannedmint 阅读(14) 评论(0) 推荐(0)
摘要: List自带排序方法 List<int> list = new List<int>(); list.Add(3); list.Add(2); list.Add(6); list.Add(1); //list提供的排序方法,默认升序排列 //ArrayList中也有sort排序方法 list.Sort 阅读全文
posted @ 2025-01-21 19:43 cannedmint 阅读(30) 评论(0) 推荐(0)
摘要: lambda表达式 可以将lambda表达式理解为匿名函数的简写 //基本语法: //(参数列表) => //{ // 函数体 //}; //无参无返回值 Action a = () => { Console.WriteLine("无参无返回值的lambda表达式"); }; a(); //有参数的 阅读全文
posted @ 2025-01-21 18:18 cannedmint 阅读(8) 评论(0) 推荐(0)
摘要: 匿名函数的意义 匿名函数就是没有名字的函数 匿名函数主要是配合委托和事件使用 //delegate (参数列表) //{ // 函数逻辑 //}; //当函数中传递委托参数或者委托和事件赋值时使用匿名函数 //无参无返回值 //申明 Action a = delegate () { Console. 阅读全文
posted @ 2025-01-21 17:30 cannedmint 阅读(21) 评论(0) 推荐(0)
摘要: 事件的本质 事件让委托的使用更具有安全性 事件是一种特殊的变量类型 //申明语法: //访问修饰符 event 委托类型 事件名; //事件的使用: //事件是作为成员变量存在于类中 //委托怎么使用,事件就怎么使用 //事件相对于委托的区别: //事件不能再类外部赋值 //事件不能在类外部调用 / 阅读全文
posted @ 2025-01-21 16:33 cannedmint 阅读(7) 评论(0) 推荐(0)
摘要: 委托 委托是函数的容器,可以理解为表示函数的变量类型 用来存储和传递函数 委托的本质是一个类,用来定义函数的类型(返回值和参数的类型) 函数必须对应和各自“格式”一致的委托 //关键字:delegate //语法:访问修饰符 delegate 返回值 委托名(参数列表); //可以申明在namesp 阅读全文
posted @ 2025-01-21 15:45 cannedmint 阅读(14) 评论(0) 推荐(0)
摘要: LinkedList LinkedList 是一个可变类型的泛型双向链表 LinkedList<int> linkedList = new LinkedList<int>(); //往链表尾部加 linkedList.Addlast(1); //往链表头部加 linkedList.AddFirst( 阅读全文
posted @ 2025-01-21 11:47 cannedmint 阅读(13) 评论(0) 推荐(0)