刷新
C# 解析 Word 超链接:字段识别、屏幕提示读取

博主头像 在文档批量处理、内容审计、数据抽取等开发场景中,经常需要从 Word 文档中提取所有超链接信息(包括链接地址、显示文本、链接类型等)。本文基于 Free Spire.Doc for .NET 免费组件,介绍一种轻量、代码量少的实现方式,重点讲解核心逻辑与代码实现,供.NET开发者参考。 一、方案概述 ...

Zenith.NET 开发札记:把 .NET 图形 API 推向现代 RHI

博主头像 Zenith.NET 最近做了一轮比较大的 RHI 重构。它不是一次普通的 API 改名,也不是单纯整理代码,而是把整个图形抽象层从早期“更容易上手的封装”,往更现代、更贴近 DirectX 12 / Vulkan / Metal 的底层模型推进。 这轮重构的重点,是新版引入了哪些能力、为什么要做 ...

基于AScript的SQL脚本语言发布啦!

说到执行动态脚本,大多使用Lua、Python、JS等语言,为什么没有SQL动态脚本语言呢?现在它来了! AScript是一个开源的C#动态脚本解析执行引擎,支持扩展多种脚本语言,2026年6月8日正式发布了SQL脚本语言AScript.Lang.Sql,快来试试吧! 一、介绍 支持SqlServe ...

AScript之事件处理脚本

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 } ...

记一次 .NET 某注塑模具系统 CPU爆高分析

博主头像 一:背景 1. 讲故事 前些天有位朋友在微信上找到我,说他们的系统出现了CPU爆高,找不到原因,让我帮忙看一下,dump也拿出来了,接下来上windbg分析。 二:CPU爆高分析 1. 真的爆高吗 dump的分析第一原则就是相信数据,先使用 !tp 观察cpu使用率。 0:031> !tp Usin ...

MonkeyCode写消息队列:从零实现高可用异步架构

博主头像 同步调用是微服务耦合的根源。消息队列解耦了服务,也救了你的响应时间。用MonkeyCode,从选型到实现一把梭。 为什么需要消息队列? 一个典型的电商下单流程,同步调用长这样: # 同步调用:创建订单要等所有下游返回 @app.post("/orders") async def create_ord ...

[翻译] 为什么我要用 C# 构建数据库引擎

博主头像 当我告诉别人我正在用 C# 构建一个 **ACID 数据库引擎**时,第一反应总是如出一辙:“那 GC(垃圾回收)停顿怎么办?” 这是一个合情合理的问题。几乎没有人会在 .NET 中构建高性能数据库引擎。人们普遍认为,这类软件必须使用 C、C++ 或 Rust 编写——托管语言基本上被排除在“微秒... ...

无需 Office,用 C# 轻松增删 PowerPoint 幻灯片

博主头像 在批量生成报告、动态拼接演示文稿或自动化处理 PPT 模板时,通过代码动态增删幻灯片几乎是绕不开的需求。本文将以免费库 Free Spire.Presentation for .NET 为例,提供一个可直接落地的技术方案。 技术方案定位:无 Microsoft Office 依赖,纯托管代码实现,可 ...

记一次 .NET 某集群管理软件 内存暴涨分析

博主头像 一:背景 1. 讲故事 前些天有位朋友微信找到我,说它的程序出现了内存暴涨,自己也没分析出啥,让我看下到底怎么回事,然后让这位朋友抓一个dump,拿它占一卦就行了。 二:内存暴涨分析 1. 为什么会暴涨 到底是哪里的暴涨,折半查找一下就知道了,分别通过 !address -summary 和 !ee ...

C# 实现 Word 文档文本批量替换 (动态填充)

博主头像 在各类企业级应用中,程序化修改 Word 文档是一个高频需求——批量更新合同模板中的占位符、动态生成个性化的报告与报价单、统一标准化文档中的术语表述等。实现这类需求的核心技术挑战在于:Word 文档采用复杂的内置结构存储文本与格式,简单的字符串操作极易破坏文档的格式完整性,导致输出结果无法满足正式应 ...

数据去重:通过 C# 删除 Excel 中的重复行

博主头像 在日常数据处理中,Excel 表格中的重复行是一个常见问题。无论是数据清洗、报表生成还是数据分析,去除重复记录都是一项基础且关键的操作。本文将详细介绍如何使用 Free Spire.XLS for .NET(一款免费、无需安装 Microsoft Office 的 Excel 操作组件),通过 C# ...

123···7>