摘要: 一、Parallel 并行编程 1.1 Parallel.Invoke 基本用法 // 一次执行多个委托 Parallel.Invoke( () => { DoWork1(); }, () => { DoWork2(); }, () => { DoWork3(); } ); 特点 可以传入多个委托 阅读全文
posted @ 2026-03-19 17:40 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 一、核心概念理解 1.1 进程与线程 进程(Process) 计算机中的虚拟记录,描述应用程序运行时消耗的各种资源集合 包含:CPU + 内存 + 磁盘IO + 网络资源 类比:一个公司的整体运作 线程(Thread) 程序进程中执行具体动作的最小执行流 从点击按钮到网络通信,都是线程在执行 类比: 阅读全文
posted @ 2026-03-19 17:21 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 一、多线程基础概念 多线程的三大特点: 异步执行:不阻塞主线程,多件事可以同时进行 效率高:充分利用 CPU 等计算机资源 无序性:多个线程的执行顺序不可预测,无法控制 ⚠️ 正因为无序性,多线程调试困难,通常只能通过写日志、输出结果、结合线程 ID 来分析问题。 // 获取当前线程 ID,用于区分 阅读全文
posted @ 2026-03-19 17:19 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 一、数据结构概述 数据结构是底层数据的存储方式,分四大类: Set集合:纯粹的容器,无序存储,元素唯一 线性结构:一对一存储,如数组、链表、队列、栈 树形结构:一对多存储,如二叉树、表达式目录树、菜单结构 图状结构:多对多存储,如拓扑图、地图网络 二、线性结构 连续存储(数组类) Array 内存连 阅读全文
posted @ 2026-03-19 17:05 龙猫•ᴥ• 阅读(2) 评论(0) 推荐(0)
摘要: 一、本质与核心概念 表达式目录树是一种数据结构,以树形结构描述代码逻辑。它不是可执行代码,而是对代码结构的描述。 委托(Delegate):编译后直接生成 IL,可以直接执行 表达式目录树(Expression Tree):是一个树形数据对象,描述了计算关系,不能直接执行 Expression<Fu 阅读全文
posted @ 2026-03-19 17:02 龙猫•ᴥ• 阅读(3) 评论(0) 推荐(0)
摘要: 一、Lambda 表达式的演变 Lambda 表达式是委托的语法糖,本质上是匿名方法的简化写法,编译器最终会将其编译为委托实例。 .NET 1.0/1.1 — 命名方法委托 public delegate void NoReturnWithPara(int x, string y); NoRetur 阅读全文
posted @ 2026-03-19 16:59 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 题 1:委托的本质是什么?请解释委托的底层实现原理。 出题意图 考察候选人对委托的深层理解,是否知道委托不仅仅是语法糖,而是有具体的底层实现。 解答思路 先说明委托的表面定义 深入到底层实现(类的本质) 说明继承关系和关键方法 参考答案 委托的本质是一个类(Class),继承自 System.Mul 阅读全文
posted @ 2026-03-19 14:55 龙猫•ᴥ• 阅读(8) 评论(0) 推荐(0)
摘要: 一、委托(Delegate)基础 1.1 什么是委托? 委托是一种引用类型,本质上是一个类,继承自 MulticastDelegate。它可以封装方法的引用,类似于 C/C++ 中的函数指针,但更加类型安全。 // 委托的定义 public delegate void NoReturnNoPara( 阅读全文
posted @ 2026-03-19 14:44 龙猫•ᴥ• 阅读(2) 评论(0) 推荐(0)
摘要: Q1:特性和注释有什么区别?特性的本质是什么? 出题意图: 考察对特性基础概念的理解,区分"会用"和"真懂"。 答: 注释在编译后不存在,只是给人看的文字说明。特性编译后以元数据形式存储在程序集中,运行时可以通过反射读取,能携带数据和逻辑,真正影响程序行为。 特性的本质是一个类,直接或间接继承自 S 阅读全文
posted @ 2026-03-19 14:07 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 一、特性的本质 1.1 什么是特性 特性是一个类:直接或间接继承自 Attribute 抽象类 命名规范:类名默认以 Attribute 结尾(使用时可省略) 应用方式:用方括号 [] 包裹,标记在类或类成员上 编译后存在:与注释不同,特性在编译后依然存在于程序集中 1.2 特性 vs 注释 // 阅读全文
posted @ 2026-03-19 13:57 龙猫•ᴥ• 阅读(4) 评论(0) 推荐(0)
摘要: 题目1:什么是反射?它有什么用? 答案 反射(Reflection)是 .NET 提供的一种机制,来自 System.Reflection 命名空间,允许程序在运行时动态地获取程序集(dll/exe)中的类型信息,并基于这些信息创建对象、调用方法、读写属性和字段。 主要用途: IOC 容器:动态加载 阅读全文
posted @ 2026-03-18 11:33 龙猫•ᴥ• 阅读(6) 评论(0) 推荐(0)
摘要: Q1:什么是泛型?为什么要用泛型? 出题意图:考察对泛型基本概念的理解,以及是否能说清楚它解决了什么问题。 答: 泛型是一种"延迟声明类型"的机制。声明时用占位符 T 代替具体类型,调用时再指定。 引入泛型主要解决两个问题: 性能问题:用 object 作为通用参数时,值类型会发生装箱/拆箱,有额外 阅读全文
posted @ 2026-03-17 17:17 龙猫•ᴥ• 阅读(3) 评论(0) 推荐(0)
摘要: 一、泛型的概念与引入 1.1 什么是泛型 泛:宽泛的、不确定的 型:类型 泛型:不确定的类型,延迟声明的类型 1.2 为什么需要泛型 传统方案的问题: // 方案1:为每种类型写一个方法 - 代码冗余 public static void ShowInt(int iParameter) { } pu 阅读全文
posted @ 2026-03-17 17:09 龙猫•ᴥ• 阅读(1) 评论(0) 推荐(0)
摘要: 一、反射基础概念 1.1 什么是反射? 反射(Reflection)是 C# 中的一项强大功能,来自 System.Reflection 命名空间。它允许程序在运行时动态地: 读取程序集(DLL/EXE)的元数据(metadata) 创建对象实例 调用方法 访问字段和属性 1.2 编译过程理解 高级 阅读全文
posted @ 2026-03-17 17:09 龙猫•ᴥ• 阅读(4) 评论(0) 推荐(0)
摘要: 认识 Vue3 1. Vue3组合式API体验 通过 Counter 案例 体验Vue3新引入的组合式API <script> export default { data(){ return { count:0 } }, methods:{ addCount(){ this.count++ } } 阅读全文
posted @ 2026-01-22 09:17 龙猫•ᴥ• 阅读(37) 评论(0) 推荐(0)