本内容主要介绍关于ADO.NET的相关内容。 aod.net类层次可划分为两个类别,连接对象与分连接对象。如下图 非连接对象,包括 DataSet,DataTable, DataRow,DataColumn,DataRelation等。 1、DataTable介绍 DataTable是将数据表格化, ...
在日常数据处理中,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 动画的优点 ...
EF Core 默认实现了许多值比较器,用于在实体状态追踪时检查属性值是否被修改。故大多情况下,咱们不需要操作心。但,凡是总有特殊情况,有些数据虽然值不相等,但所表示的意思是相等的。这种时候就不能依靠默认的比较器了。 老周举一个连外星人都知道的例子。假设有这样的实体类。 public class C ...
07. 异步异常处理:AggregateException 的拆解与最佳实践 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:掌握异步异常处理的正确姿势,理解 ...
在实际应用中,列表控件主要用于显示列表格式的数据,然后供用户选择,常见的列表控件有ComboBox(下拉列表框),ListBox(列表框),CheckedListBox(带复选框的列表框),ListView(带图标的列表框),TreeView(树状结构的列表视图),今天我们以一些简单的小例子,简述列 ...
本文将告诉大家如何基于多模态大模型、语音合成能力和 FFMpeg 实现自动将 PPT 文档转换为带专业讲解的演讲视频,项目代码拉取后即可直接运行。我现在给的提示词炼丹效果是针对于教育垂直领域,整个代码完全开源,欢迎二次创作 ...
一、设计思路 表格 特性作用实现方式 限流 防止接口被刷、防止流量洪峰 令牌桶 / 滑动窗口 + Redis / 内存缓存 防重 防止前端重复点击 / 网络重试重复提交 请求唯一 ID + 短时间锁 幂等性 保证接口重复调用结果一致 唯一业务键 + 状态机 + 分布式锁 二、.NET 完整实现代码 ...
.NET Exception 序列化问题深度解析:为什么 HelpURL 属性会导致反序列化失败? 一、问题现象 今天早上在处理客户反馈的问题时,遇到了一个令人困惑的异常: 2026-05-06 09:40:07.116 WARN [274] - Member 'HelpURL' was not f ...
好像有一个月没发文了,这期间发生了些不愉快的事。都是些家庭矛盾,不提也罢。 最近很多裁员,不要听网上的营销胡说九道。实际上很多裁员跟 AI 没多大关系的,要么是找个借口(拿AI做文章以掩盖公司实力不行了),要么是不行了,没钱了,项目烂了,公司也烂了,全烂了。如果经济形势大好的话,你看看那些B资本家会 ...
06. CancellationToken:优雅地取消异步操作 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标:掌握 CancellationToken 的正确 ...
05. SynchronizationContext 与死锁问题:揭开 ConfigureAwait 的神秘面纱 本章 GitHub 仓库:csharp-concurrency-cookbook ⭐ 欢迎 Star 和 Fork!所有代码示例都可以在仓库中找到并运行。 本章导读 本文目标 ...
一、安装依赖 # 基础包 Install-Package Polly # HTTP 集成(推荐) Install-Package Microsoft.Extensions.Http.Polly 二、策略与代码 1. 重试(Retry):自愈瞬时故障 作用:网络抖动、偶发超时、5xx 等临时错误自动重 ...
简单入门 1. 准备函数[1][2][3] [DllImport("User32")] // 设置消息钩子 public static extern IntPtr SetWindowsHookExA(int idHook, HookProc lpfn, IntPtr hmod, int dwThre ...
一、设计思路 1. 架构分层 一级缓存:IMemoryCache(进程内内存缓存,读写纳秒级,无网络开销) 二级缓存:IDistributedCache(Redis 分布式缓存,跨服务共享,毫秒级) 数据源:数据库 / 接口(兜底,避免缓存穿透) 2. 读写流程 读取数据(Get) 先查本地缓存,命 ...
一、Redis 常用 5 个数据结构 StackExchange.Redis 是 .NET 最主流客户端,所有结构都有对应 API。 1. String(字符串) 用途:缓存对象、计数器、分布式锁、简单配置 // 存对象(序列化) await db.StringSetAsync("user:1", ...
目录简介核心代码使用示例依赖包总结讨论 简介 在 .NET 开发中,PDF 转图片是一个常见需求。本文介绍如何使用 Docnet.Core 和 SkiaSharp 实现一个跨平台的 PDF 转图片工具类。 核心代码 using Docnet.Core; using Docnet.Core.Model ...
在处理 PDF 文档时,“拆分页面”可以说是最常遇到的需求之一。比如:一份几十页的报告,你只想要其中某一章;或者开会发的 PDF 会议纪要,需要按参会者姓名拆成单页分别发邮件;又或者你刚把一份扫描件导出来,希望每一页变成一个独立的 PDF 文件……这些场景我都遇到过。 今天我就用 Free Spir ...
一、核心规则 异常仅用于非预期错误,禁止用来做业务逻辑判断(替代 if/TryXXX)。 精准捕获:抓具体异常,禁止无脑捕获 Exception。 禁止空捕获 catch{}、吞异常、隐藏故障。 重抛异常只用裸 throw;,禁用 throw ex;(丢失堆栈)。 资源释放优先 using,少手写 ...