随笔分类 -  C#.Net

摘要:一、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 龙猫•ᴥ• 阅读(5) 评论(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 龙猫•ᴥ• 阅读(7) 评论(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)
摘要:Domain-Driven Design 领域驱动设计 领域驱动设计是客户需求驱动设计 什么是客户需求 领域产生 领域产生的实质:人和物关系 商品领域中包含哪些 商品两类数据 1、商品构造。2、商品操作。 领域驱动 把商品领域作为一个整体,给用户使用 为什么要使用领域驱动设计(DDD) 主要目的:解 阅读全文
posted @ 2025-06-24 11:43 龙猫•ᴥ• 阅读(85) 评论(0) 推荐(0)
摘要:什么是ABP vNext ABP vNext是一个基于Asp.Net Core Web应用程序框架。主要目的是用来快速开发Web应用。 可以用于开发任何Web应用程序。为什么AbpvNext可以快速开发Web应用? 两个原因: 1、ABP vNext提供完整Web应用程序开发模板。 2、ABP vN 阅读全文
posted @ 2025-06-23 17:50 龙猫•ᴥ• 阅读(182) 评论(0) 推荐(0)
摘要:var customers = await _db.Db.Queryable<Customer>() .Where(a => projectNumberIds.Contains(a.Id)) .Select(a => new { a.Id, a.Name }).ToListAsync(); var 阅读全文
posted @ 2025-06-13 11:57 龙猫•ᴥ• 阅读(25) 评论(0) 推荐(0)
摘要:List<int> codes = item.ProductCodes.Split(",") .Select(a => int.TryParse(a, out int code) ? code : 0) .Where(code => code > 0).ToList(); 阅读全文
posted @ 2025-06-13 11:52 龙猫•ᴥ• 阅读(28) 评论(0) 推荐(0)
摘要:使用 Stopwatch // 创建并启动计时器 var stopwatch = Stopwatch.StartNew(); // 要测量的代码 YourCodeToMeasure(); // 停止计时 stopwatch.Stop(); Console.WriteLine($"执行时间:{stop 阅读全文
posted @ 2025-04-25 15:55 龙猫•ᴥ• 阅读(39) 评论(0) 推荐(0)
摘要:RabbitMQ集群 主备关系,在运行的时候,如果非主要节点宕机,程序操作 不受影响; 如果主节点宕机了, 程序会中断操作。 而Rabbitmq集群,会马上让没有宕机的节点参选,选出新的主要节点。 程序重试的时候,会进入到新的节点中执行。 历史消息不受影响的。 基于Docker构建RabbitMQ集 阅读全文
posted @ 2025-01-13 22:12 龙猫•ᴥ• 阅读(57) 评论(0) 推荐(0)