使用C#实现DataTable和Excel的数据互转
目录什么是 Spire.XLS for .NET如何安装 Spire.XLS for .NET1. 使用 NuGet 包管理器2. 使用 Visual Studio3. 手动下载一、将 DataTable 写入 Excel代码示例代码解析二、将 Excel 数据读取到 DataTable代码示例代码解析总结在现代应用程序中,表格数据处理是一项基本功能。使用 C# 和 Spire.XLS for .NET 库,我们可以方便地 ...
在C#中实现Excel工作表的重命名和标签颜色设置
目录引言1. Spire.XLS for .NET 简介与环境准备2. 利用 C# 重命名 Excel 工作表3. 使用 C# 设置 Excel 工作表标签颜色总结引言
在日常工作中,我们经常需要处理大量的 Excel 文件。当文件中的工作表数量众多,或者需要根据特定规则(如数据内容、日期等)来组织时,手动逐个修改工作表名称和设置标签颜色不仅效率低下,还极 ...
C#中RabbitMQ的使用小结
目录一、RabbitMQ是什么?二、环境准备2.1. 安装RabbitMQ服务器2.2. 安装C#客户端库三、基础使用示例3.1. 简单发布/订阅模式(使用RabbitMQ.Client)四、高级特性4.1. 持久化消息(确保消息不丢失)4.2. 使用EasyNetQ简化代码五、实际应用场景5.1.电商订单处理(解耦系统)5.2.日志收集系统六、专业建议七、常见问题八、其 ...
C#中out 参数的使用小结
目录一、基础概念与核心机制1. 定义与本质2. 内存与执行流程二、基础语法与使用模式1. 基本用法2. C# 7.0+ 的 out 变量改进三、out 与 ref 参数深度对比1. 关键区别表2. 代码对比示例四、高级应用场景与模式1. Try-Parse 模式 (最佳实践)2. 字典操作优化3. 领域驱动设计 (DDD) 应用五、性能优化与内存管理1. 避免不必要的装 ...
基于C#实现一维码和二维码打印功能
目录一、技术选型方案1. 核心库选择2. 打印机适配方案二、核心功能实现1. 条码生成模块2. 打印控制模块三、系统架构设计四、关键参数配置五、工程实践要点1. 图像预处理优化2. 打印队列管理六、扩展功能实现1. 批量打印支持2. 数据库集成七、调试与测试方案1. 条码验证流程2. 常见问题处理八、部署建议九、典型应用场景一、 ...
C#中实现控件拖动功能的具体方案
目录一、WinForms基础实现方案1. 单控件拖动(基于事件处理)2. 通用拖动类封装(支持多控件)二、WPF高级实现方案1. 附加属性实现(MVVM友好)2. 边界检测与智能吸附三、工程实践建议四、跨平台方案对比一、WinForms基础实现方案
1. 单控件拖动(基于事件处理)
public partial class Form1 : Form
{
private bool isD ...
C#实现设置Word段落对齐样式的方法详解
目录安装免费库核心知识点:HorizontalAlignment 枚举设置 Word 段落对齐样式:C# 代码示例案例1:创建新文档并设置不同段落对齐样式案例2:修改现有 Word 文档的段落对齐样式注意事项总结段落对齐是Word文档格式排版的基础需求,合理的对齐样式能提升文档的可读性和美观度。Free Spire.Doc for .NET 是一款免费的 Word 文 ...
C# params基本语法及典型用法
目录一、params基本语法二、params Type[] interfaceTypes的典型用法场景:检查某个类型是否实现了指定的一组接口调用示例:三、其他常见用途1. 动态创建实现多个接口的代理(如 Castle DynamicProxy)2. 注册服务时指定多个接口3. 断言对象是否实现某些接口(单元测试)四、注意事项❗ 1.params参数可以为null❗ 2. 类型安 ...
C# winform自定义控件的实现方法
目录创建自定义控件增加属性方法调用控件在winform开发中,有时候需要对原有控件进行修改,本文就textbox控件为例,增加不能复制、粘贴、剪切textbox文本框内的内容。详细介绍如何实现。
创建自定义控件
增加属性方法
//注意继承父类对象,System.Windows.Forms.TextBox
public partial class NoCopyPasteTextBox : Syste ...
C#运行外部程序的两种方法小结
目录ShellExecute调用ProcessShellExecute
using System.Runtime.InteropServices;
public enum ShowWindowCommands : int
{
SW_HIDE = 0,
SW_SHOWNORMAL = 1, //用最近的大小和位置显示,激活
SW_NORMAL = 1,
SW_SHOWMINIMIZED = 2,
SW_SHOWMAXIMIZED = 3,
SW_MAXIMIZE = 3,
SW_SHOWNOAC ...
C#AI系列(6): C#离线实现高效OCR
本文代码已开源,仅需关注 萤火初芒 公众号回复AISharp即可查看仓库地址,获取完整项目及模型数据,供学习交流使用,无套路(部分测试图片为网图,侵删)。
本文项目在笔记本电脑上(Windows, NET10, x64)就可以自己动手尝试OCR, 实现如身份证识别、截图文本识别、扫描图转pdf等功能。
一、OCR的实现基础
实现OCR,我们直 ...
C#AI系列(5): 从零开始 C# 轻松语音识别
人工智能历经多年演进,昔日高门槛的图像与语音识别任务,如今已有成熟的开源框架可供免费使用,只要花点时间,就可以零成本部署。本文以语音识别为例,看如何高效的将语音识别功能集成至C#系统中,后续大家可以继续完善扩展,去处理如语音指令、语音交互、字幕生成、会议纪要分析、语音翻译等相关任务。
本文项目在笔记本 ...
C#/.NET/.NET Core优秀项目和框架2025年11月简报
前言
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的详细介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后 ...
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
前言
在 .NET 里写查询的时候,很多场景下数据其实早就都在内存里了:不是数据库连接,也不是某个远程服务的结果,而就是一个数组或者 List<T>。我只是想过滤一下、投影一下。这时候,通常有几种选择:
写一个 foreach 循环 —— 性能好、可控,但代码稍微有点啰嗦;
用 LINQ —— 写起来舒服,看起来也优雅,就是有迭代器 ...
九成九新自用C#入门文档
C#九成九新个人用入门指南
前言
如果你是第一次学习编程,那么,可能会非常困难,如果你曾经学过面向对象的编程语言,那么可能会非常轻松
C:你干脆直接提我名字得了吧
在我们正式学习之前,我需要讲几个比较基础的知识
1. 高级语言,低级语言,强类型,弱类型
高级语言和低级语言,这两个概念对初学者来会非常头疼,网上 ...
从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
本文回顾微软 .NET 与 C# 语言从跨平台起步到统一平台、再到现代化性能优化的全过程。每个版本都配有简明 Demo 代码,便于开发者快速掌握特性变化与实践。
一、.NET Core 时代:跨平台的开端
1. .NET Core 1.x(C# 7.0)
发布时间:.NET Core 1.0 于 2016-06-27 发布。
意义:标志 .NET 生态迈向真正跨平台、开源。
...
我最喜欢的 C# 14 新特性
C# 14 无疑是一个令人翘首以盼的版本,它带来了许多新特性和改进,旨在让我们的编程工作更加高效和便捷。官方公布的新特性列表相当丰富,包括:
扩展成员 (Extension members)
空条件赋值 (Null-conditional assignments)
nameof 支持未绑定泛型类型 (nameof with unbound generic types)
为 Span<T> 和 ReadOnlySpan<T> ...
C#.Net筑基-泛型T & 协变逆变
01、什么是泛型?
泛型(Generics)是C#中的一种强大的强类型扩展机制,在申明时用“占位符”类型参数“T”定义一个“模板类型”,比较类似于C++中的模板。泛型在使用时指定具体的T类型,从而方便的封装、复用代码,提高类型的安全性,减少类型转换和装箱。
泛型就是为代码能 跨类型复用 而设计的,轻松复用代码逻辑,如 ...
C#.Net筑基-优雅LINQ的查询艺术
Linq(Language Integrated Query,集成查询语言),顾名思义就是用来查询数据的一种语言(可以看作是一组功能、框架特性的集合)。在.NETFramework3.5(大概2007年)引入C#,用统一的C#语言快速查询各种数据,如数据库、XML文档、对象集合等等。Linq的诞生对 C# 编程领域产生了深远而持久的影响,改变了开发人员对查询的 ...
LinqPad:C#代码测试学习一品神器
01、LinqPad是干嘛的?
LinqPad 是一个可编写、运行C#(VB/F#/SQL)代码的轻量工具,C#开发者强烈推荐必备的工具,一个一旦用了就再也不想丢弃的工具。工具出自《C# 核心技术指南》的作者Joseph Albahari,一位.Net资深技术专家。
🎉主要应用场景:
快速代码功能测试(功能测试、性能测试),这可能是最常用的场景了。
把 ...