AScript是一个开源的C#动态脚本解析执行引擎,脚本中支持定义事件处理。 一、Lambda委托 1 var s = @" 2 var p = new Person('tom', 20); 3 p.Saying += (ss,ee)=>{ 4 (ss as Person).Age+=1; 5 } ...
问题现象 在Windows平台上,通过Win32 API IOCTL_DISK_SET_DISK_ATTRIBUTES 将磁盘设置为只读后,出现了意料之外的行为:磁盘属性面板显示已只读,但NTFS文件系统仍允许写入;或者反过来,磁盘已取消只读,但NTFS仍拒绝写入。这种"磁盘层"与"文件系统层"状态 ...
一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的系统出现了CPU爆高,找不到原因,让我帮忙看一下,dump也拿出来了,接下来上windbg分析。 二:CPU爆高分析 1. 真的爆高吗 dump的分析第一原则就是相信数据,先使用 !tp 观察cpu使用率。 0:031> !tp Usin ...
Transformer的核心瓶颈是注意力O(n²),100万token直接爆显存。MiniMax M3的自研MSA架构,把每token计算量降到原来的1/20——怎么做到的? 传统注意力的致命问题:O(n²) 标准Self-Attention的计算: 对于序列长度n: - 每个Query和所有Key ...
同步调用是微服务耦合的根源。消息队列解耦了服务,也救了你的响应时间。用MonkeyCode,从选型到实现一把梭。 为什么需要消息队列? 一个典型的电商下单流程,同步调用长这样: # 同步调用:创建订单要等所有下游返回 @app.post("/orders") async def create_ord ...
当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?”
这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...
MonkeyCode vs Cursor vs Copilot:2026年AI编程工具终局之战 AI编程工具已经卷到下半场了。 2024年,大家还在讨论"AI能不能写代码";2026年,问题变成了"AI编程工具哪家强"。 我同时用了三个月MonkeyCode、Cursor和Copilot,以下是我的 ...
/// <summary> /// PaddleOCRSharp -Version 4.5.0.1 /// </summary> public class NewController : ApiController { private static PaddleOCREngine _ocrEngin ...
在批量生成报告、动态拼接演示文稿或自动化处理 PPT 模板时,通过代码动态增删幻灯片几乎是绕不开的需求。本文将以免费库 Free Spire.Presentation for .NET 为例,提供一个可直接落地的技术方案。 技术方案定位:无 Microsoft Office 依赖,纯托管代码实现,可 ...
一:背景 1. 讲故事 前些天有位朋友微信找到我,说它的程序出现了内存暴涨,自己也没分析出啥,让我看下到底怎么回事,然后让这位朋友抓一个dump,拿它占一卦就行了。 二:内存暴涨分析 1. 为什么会暴涨 到底是哪里的暴涨,折半查找一下就知道了,分别通过 !address -summary 和 !ee ...
在各类企业级应用中,程序化修改 Word 文档是一个高频需求——批量更新合同模板中的占位符、动态生成个性化的报告与报价单、统一标准化文档中的术语表述等。实现这类需求的核心技术挑战在于:Word 文档采用复杂的内置结构存储文本与格式,简单的字符串操作极易破坏文档的格式完整性,导致输出结果无法满足正式应 ...
在日常数据处理中,Excel 表格中的重复行是一个常见问题。无论是数据清洗、报表生成还是数据分析,去除重复记录都是一项基础且关键的操作。本文将详细介绍如何使用 Free Spire.XLS for .NET(一款免费、无需安装 Microsoft Office 的 Excel 操作组件),通过 C# ...
一、什么是 C#? C#(读作 "C Sharp")是微软开发的一种面向对象、类型安全的编程语言,运行在 .NET 框架之上。它结合了 C/C++ 的强大功能和 Java 的简洁性,广泛应用于: 桌面应用开发(WinForms、WPF) Web 应用开发(ASP.NET) 游戏开发(Unity 引擎 ...
在 Avalonia 框架中,我们通常使用 XAML 编写动画。然而,实际上 Avalonia 中还存在另一套鲜为人知(?)的动画系统——Composition Animation(合成动画)
本文将介绍如何在 Avalonia 中编写合成动画,以及它相比普通 XAML 动画的优点 ...
简单入门 1. 准备函数[1][2][3] [DllImport("User32")] // 设置消息钩子 public static extern IntPtr SetWindowsHookExA(int idHook, HookProc lpfn, IntPtr hmod, int dwThre ...
在处理 PDF 文档时,“拆分页面”可以说是最常遇到的需求之一。比如:一份几十页的报告,你只想要其中某一章;或者开会发的 PDF 会议纪要,需要按参会者姓名拆成单页分别发邮件;又或者你刚把一份扫描件导出来,希望每一页变成一个独立的 PDF 文件……这些场景我都遇到过。 今天我就用 Free Spir ...
做了个小工具, 这个是用于将文件夹的图标路径设置为相对路径, 方便转移文件. 效果: 绝对路径转相对路径核心代码 (纯业余水平, 见丑了): string[] tmp2; //吧路径切成腻子, 图标路径 string[] tmp3; //吧路径切成腻子, 当前文件夹路径 string[] tmp4; ...
在日常办公或系统开发中,Word 文档里的表格数据常常需要被提取出来,用于数据导入、统计分析或报表生成。然而,手动复制粘贴效率低下,而借助 Office COM 组件又容易遇到版本兼容、部署繁琐等问题。本文将展示如何使用 C# 搭配 Free Spire.Doc 库,无需安装 Microsoft W ...
前言 Union 类型(联合类型)一直是 C# 社区呼声最高的特性之一。从最初的 discriminated unions 提案到今天,这个特性经历了多年的设计和讨论,终于在 C# 15 中正式落地。 Union 类型允许我们将一个值限定为一组封闭类型中的某一种,并且在针对 Union 值的 swi ...
PDF 书签(大纲)是文档导航的核心要素,尤其对于长文档或技术手册,提取书签信息可用于生成目录、索引或进行文档结构分析。本文将介绍如何使用 Free Spire.PDF for .NET 库,通过 C# 代码完整读取 PDF 文件中的所有书签(包括多级嵌套书签),并将标题、显示样式等信息导出到文本文 ...