随笔分类 -  C#

摘要:⚡ 第30章:混合线程同步构造 —— 快与稳的平衡术 🎯 导言 把线程同步看成一场“守城战”: 短刀兵(用户模式):快,适合近战,解决瞬间冲突。 重甲兵(内核模式):稳,能长期对抗,但调动慢。 混合兵(Hybrid):聪明的将军,先短刀应付,若打不下来再调重兵。 👉 这就是“混合同步构造”:快的 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(16) 评论(0) 推荐(0)
摘要:CLR #属性 📚 第十章:Properties(属性) 现在我将重新,严格按照高阶标准来总结这章内容,包括: 深度提炼原理和设计动机 源码层次的理解(IL / CLR层面) Mermaid 图 + 丰富代码示例 至少5道高阶面试题 + 精确解析 立刻开始,稍等⏳! 📚《CLR via C#》第 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(13) 评论(0) 推荐(0)
摘要:CLR #特性 #attribute ✅ 第18章:定制特性(Custom Attributes) 📌 一、什么是定制特性? 特性(Attribute)是一种声明式元数据,贴在类、方法、字段等上方,用于为 CLR 或框架提供额外信息。 常见示例: [Serializable], [Obsolete 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(20) 评论(0) 推荐(0)
摘要:CLR #泛型 📌 一、泛型基础结构(Generic Fundamentals) 💡 本质理解: CLR 泛型是 延迟绑定泛型(Open Generics),在运行时根据实际类型参数 生成真实类型。 每个具体类型组合(如 List<int> 和 List<string>)会 JIT 编译生成独立 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(37) 评论(0) 推荐(0)
摘要:零、为什么引入可控类型? 原因 描述 现实需要 业务场景中常有“无值”的可能 类型安全 让值类型支持 null,增强类型系统 框架友好 更好地支持 ORM/序列化/LINQ 等 表意清晰 避免使用特殊默认值,如 -1 或 0 编译检查 编译器能提示未检查 null 的逻辑 一、什么是可空值类型? i 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(18) 评论(0) 推荐(0)
摘要:✅ 第16章:数组与集合(Arrays and Collections) 📘 一、数组初始化与类型系统 ✅ 所有数组都是 System.Array 的子类 int[] nums = new int[] { 1, 2, 3 }; Console.WriteLine(nums.GetType()); 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(11) 评论(0) 推荐(0)
摘要:✅ 第17章:委托(Delegates) 📘 一、什么是委托(Delegate) 委托是对方法的安全封装,它本质上是一个对象,可以指向一个或多个方法并调用它们。 你可以理解为:类型安全的函数指针 + 多播功能 + 支持对象上下文 🧠 二、CLR 中委托的本质 ✅ 委托是类的一个实例 public 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(33) 评论(0) 推荐(0)
摘要:CLR #接口 ✅ 第13章:接口(Interfaces) 📌 一、接口的本质与作用 接口是 行为合约,定义方法但不实现。 CLR 支持多接口继承,但不支持多类继承。 接口可看作是一种“受控多继承机制”。 📘 接口在 CLR 中的表现: 接口方法编译为 virtual,通过 vtable 或 i 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(9) 评论(0) 推荐(0)
摘要:✅ 第14章:字符、字符串和文本处理(Characters, Strings, and Text Handling) 📌 一、System.Char(字符) .NET 中的字符为 System.Char,本质是 16 位 Unicode 字符(UTF-16 编码单元) 每个字符支持 字符分类、大小 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(47) 评论(0) 推荐(0)
摘要:CLR #Enum #枚举 ✅ 第15章:枚举类型(Enums) 📌 一、枚举类型的本质 .NET 中枚举是 System.Enum 的子类型,本质是命名的整型常量集合 默认基础类型是 int,但可指定为 byte、short、long 等 enum Color : byte { Red = 1, 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(18) 评论(0) 推荐(0)
摘要:CLR #事件 ✅ 第11章事件 🌟 一、事件的本质与设计目标 🧠 本质:事件是对“委托”的一种语法封装,用于实现发布-订阅模式 事件 = 安全的委托公开接口(只能 +=/-=,不能直接调用) 📌 核心设计目的: 发布者控制对事件的访问(不能外部直接调用) 支持多播回调 提高封装性 🔁 二、 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(13) 评论(0) 推荐(0)
摘要:CLR #程序集 CLR via C#漫游者指南(四):共享程序集与强命名程序集 第四章《类型基础》介绍了CLR(公共语言运行时)中的类型系统,包括类型的继承、命名空间、程序集关系,以及运行时对象的内存管理。以下是本章的详细总结,并配以代码示例和图解说明: 1. 所有类型都派生自 System.Ob 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(16) 评论(0) 推荐(0)
摘要:CLR #引用类型 #值类型 第五章:基本类型、引用类型和值类型(CLR 类型系统) 编译器直接支持的数据类型成为基元类型。基元类型直接映射到Framework类库中的存在的类型 C#中的int始终映射到System.Int32,long映射到System.Int64 Decimal在很多语言包括C 阅读全文
posted @ 2025-08-26 10:06 世纪末の魔术师 阅读(14) 评论(0) 推荐(0)
摘要:C# NativeAOT生成.so 库供Linux下C++调用 #nativeAOT 官方文档:https://learn.microsoft.com/zh-cn/dotnet/core/deploying/native-aot/?tabs=windows%2Cnet8 ✅ 最终目标 使用 C# 编 阅读全文
posted @ 2025-06-05 16:01 世纪末の魔术师 阅读(534) 评论(16) 推荐(8)
摘要:Unity开发中,我们不免要调用C++库,P/Invode(Platform Invocation Services)则为我们提供这个桥梁。 🧠 什么是 P/Invoke? P/Invoke 全称是: Platform Invocation Services 它是 .NET/Mono 平台用于从托 阅读全文
posted @ 2025-04-20 22:16 世纪末の魔术师 阅读(283) 评论(0) 推荐(0)