随笔分类 - C#
摘要:命名管道(Named Pipes)深度解析(C#—C++应用间交互) 一、核心概念 命名管道(Named Pipes)是Windows系统中一种进程间通信(IPC)*机制,支持*跨进程甚至跨网络的双向数据流传输。其核心特点如下: 命名唯一性:通过全局唯一的管道名称(如\\.\pipe\MyPipe)
阅读全文
摘要:在Unity中玩转表达式树:解锁游戏逻辑的动态魔法 在Unity 2021 LTS版本中,结合Burst Compiler可以将表达式树编译后的委托性能提升至接近原生C++代码水平,特别适合高频调用的游戏系统(如物理伤害计算、AI决策等) 参考:git-amend Expression 一、为什么要
阅读全文
摘要:协变(收银员)逆变(外卖员) 协变(收银员)逆变(外卖员) 🌟通俗易懂讲协变与逆变 很多人第一次遇到 协变 (Covariance) 和 逆变 (Contravariance) 都觉得绕口,其实它们的本质就像是 “超市收银台” 与 “外卖送餐” 的区别。让我用简单的比喻和直观类比帮你理解这两个概念
阅读全文
摘要:🌿 什么是表达式树 (Expression Tree)? 表达式树 是一种表示代码逻辑的数据结构。它将 代码本身 作为 树形结构 来存储和操作,使我们可以在运行时 动态构建、修改和执行代码。 表达式树与委托的关系 表达式树本质上是对 Lambda 表达式 的抽象表示。 使用 Expression<
阅读全文
摘要:委托高阶应用 Func 和 Predicate 是 C# 中非常强大的工具,它们不仅可以简化代码,还能让代码更具表达力和灵活性。在掌握了它们的基础用法后,我们可以进一步探索它们的高阶应用场景,尤其是在复杂的逻辑处理、数据操作和设计模式中的应用。 以下是一些 Func 和 Predicate 的高阶应
阅读全文
摘要:在游戏开发中,我们经常需要处理重复的动画序列,以增加游戏的真实感。例如,在海战游戏中,我们可能会有一组军舰停泊在港湾,它们的桅杆或甲板时不时地需要摇晃,以模拟海风的影响。实现这种效果有多种方法,例如完全随机选择某艘军舰播放动画,或者按照固定的顺序依次播放。亦或者让几个敌方小兵随机开火,。然而,这两种
阅读全文
摘要:内存映射文件 内存映射文件简介 内存映射文件(Memory-Mapped File)是一种将文件或其他对象映射到进程地址空间的机制,使得应用程序可以像访问内存一样访问文件内容。以下是内存映射文件的主要特点和工作原理: 主要特点 直接内存访问: 应用程序可以通过指针直接访问文件内容,而不需要通过传统的
阅读全文
摘要:C# 模式匹配 https://www.geeksforgeeks.org/pattern-matching-in-c-sharp/ https://www.codeproject.com/Articles/5368148/Your-Quick-Guide-to-Pattern-Matching-i
阅读全文
摘要:《Dependency Injection Principles, Practices, and Patterns》学习笔记 前言 分层架构的优点: 职责清晰,方便分工 代码复用,扩展性良好 体积小,易维护 依赖倒置原则(Dependency Inversion Principle): 高层模块(h
阅读全文