[置顶] 从零开始:如何用纯 C# 开发一款媲美 “Everything” 的文件搜索工具

摘要: 从零开始:如何用纯 C# 开发一款媲美 “Everything” 的文件搜索工具 众所周知,通过读取 USN 日志来搜索文件,比起传统的递归遍历文件夹,效率要高得多。但想要达到像 “Everything” 那样极致的速度,其实并不简单——哪怕只是几十毫秒的延迟,用户体验也可能天差地别。 如今,“Ev 阅读全文
posted @ 2025-09-04 11:06 LdotJdot 阅读(1193) 评论(3) 推荐(7)

从零开始: C#轻松预览PDF文件-支持跨平台AOT友好

摘要: 本项目对PdfiumViewer库进行了改写,对其pdf解析部分的核心功能进行了分离和精简,使其支持任意程序调用生成渲染后图片,项目代码已全部开源 (https://github.com/LdotJdot/LumPdfiumViewerSlim)。 同时我们还给出了一个用Avalonia简单实现了渲 阅读全文
posted @ 2025-10-23 15:50 LdotJdot 阅读(1421) 评论(4) 推荐(22)

从零开始:C# 解析docx提取文本-无需安装office软件且完美支持aot

摘要: 在解析前,我们可以对docx格式有一个初步了解。 一、 docx格式了解 docx 文件是 Microsoft Office Word 使用的基于 XML 的文件格式,Open XML。Open XML 格式使用 zip 压缩技术来存储文档,从而节省潜在的成本。 在打开文件时,Office程序会自动 阅读全文
posted @ 2025-10-17 14:19 LdotJdot 阅读(603) 评论(2) 推荐(7)

从零开始:如何用 C# 开发一款媲美 “AnyTxt” 的文件内容搜索工具

摘要: 说起文件内容搜索工具,那么不得不提到“AnyTxt”,号称本地知识库检索的终极答案。唯一的不足可能就是索引更新机制,不能实时监视文件更改从而更新索引,最小定期更新间隔为半小时,容易导致cpu占用率高,毕竟是全盘全文件类型索引。 很多时候,其实我们对文件内容的搜索,是一个简单文档管理需求,我们期望能的 阅读全文
posted @ 2025-10-16 15:15 LdotJdot 阅读(1531) 评论(10) 推荐(22)

从零开始:用C#开发的海量文件内容秒搜神器TDSContent——免费开源高效办公必备!

摘要: 从零开始:用C#开发的海量文件内容秒搜神器TDSContent——免费开源高效办公必备! 还在为全文搜索烦恼吗?是否被收费软件的糟糕体验困扰?是否担心闭源程序带来的安全隐患?是否在标准版和增强版之间纠结不已? 别担心,新时代的开源文件内容搜索神器 TDSContent 来了!它是文件名搜索神器 TD 阅读全文
posted @ 2025-10-14 17:28 LdotJdot 阅读(137) 评论(2) 推荐(2)

从零开始:C#实现计算表达式解析与求值——以后缀表达式为例

摘要: 当提到表达式解析技术时,很多人第一反应可能是复杂且精细的递归下降方法。这种方法主要用于构建抽象语法树(AST),虽然功能强大,能够处理复杂的语法结构,但它通常需要较高的编程技巧和对语法分析的深入理解。对于初学者来说,这种方法可能显得有些复杂。因此,我们的目标是从简洁实用的角度出发,分享一种更适合初学 阅读全文
posted @ 2025-10-10 21:03 LdotJdot 阅读(36) 评论(0) 推荐(1)

从零开始:C#回收魔法—深入浅出揭开Dispose与释放模式的神秘面纱

摘要: 一、什么是Dispose? 我们先来看一个简单例子(Net 8)。定义一个实现了Dispose方法的简单对象Defer。然后在控制台中我们执行以下代码。 // 定义Defer类型 ref struct Defer(Action action) { public void Dispose() => a 阅读全文
posted @ 2025-09-30 17:02 LdotJdot 阅读(414) 评论(0) 推荐(4)

TDS文件搜索_Winform版本与avalonia开发差异比较: (二) 列表虚拟化的实现-百万数据轻松展示

摘要: 一、列表虚拟化与海量数据展示 在tds中,当用户在关键词后加了/a参数,会列出所有的文件。此时可能会有上百万个。为了流畅操作和显示这些数据,只能借助列表虚拟化技术来实现。 列表虚拟化是一种优化技术,用于处理大量数据时提高性能和用户体验。它通过实时计算来模拟海量数据的展示,此时的性能流畅度与数据大小无 阅读全文
posted @ 2025-09-29 13:33 LdotJdot 阅读(351) 评论(0) 推荐(3)

TDS文件搜索_Winform版本与avalonia开发差异比较:(一)系统消息的接收与无标题栏/边框窗体的移动与尺寸调整

摘要: 一、Winform和Avalonia的选择 收到私信,有看过上一篇的朋友说想了解Winform相关内容,感谢建议,因为因此稍作回忆后就想稍作一些记录和对比。 最早的时候TDS文件搜索这款工具是用Winform实现的,最早版本是4.72的Winform,后来变成了net8。当时有想过改WPF,但一直感 阅读全文
posted @ 2025-09-27 00:24 LdotJdot 阅读(470) 评论(4) 推荐(10)

从零开始:c#如何优雅的操作临时文件/数据?以ASP文件下载为例

摘要: 在程序开发中,我们经常需要处理临时文件,例如: 安全替换大文件:先将内容写入临时文件,成功后再替换目标文件,避免写入过程中断导致数据损坏。 进程间数据传递:临时文件作为中间媒介,实现不同进程之间的数据交换。 Web文件下载:将动态生成的数据写入临时文件,并提供给用户下载。 本文将以 ASP.NET 阅读全文
posted @ 2025-09-24 14:45 LdotJdot 阅读(429) 评论(2) 推荐(4)

从零开始: c#纯代码实现完整Json解析器的全过程及注释与自定义格式的支持实现

摘要: 大家好!我们要深入探讨一个非常常用的技术:JSON反序列化。别小看这个技术,它可是现代编程中不可或缺的一部。JSON解析不仅仅是简单的数据转换,它还涉及到复杂的词法分析和文法解析。这些技术是编译器设计的基础,但这不是我们今天要深入探讨的内容。 我们想通过一些简化的方法和直觉的思考,以纯c#代码为例, 阅读全文
posted @ 2025-09-20 18:37 LdotJdot 阅读(599) 评论(0) 推荐(5)