C#使用Free Spire.XLS实现Excel转PDF:整表、单表与区域转换

本文介绍在C#中利用免费组件Free Spire.XLS将Excel文件转换为PDF的三种常用方法:转换整个文档、特定工作表以及指定的单元格区域。相比Office原生导出,该方法可精准控制打印区域,满足精细化输出需求。提供完整的控制台项目配置步骤与代码示例。

C#使用Free Spire.XLS实现Excel转PDF:整表、单表与区域转换

C#属性中get和set的底层原理与应用

在C#开发中,属性是字段封装的核心机制。通过get和set访问器,开发者可以控制成员的读写权限、执行数据验证以及隐藏内部实现。本文对比直接字段与自动属性的区别,深入解析其内存分配与访问逻辑,并展示如何利用set进行数值约束,以实现更健壮的面向对象设计。

C#中限制TextBox控件输入值范围与类型的实现方法

在C# Windows Forms开发中,通过KeyPress和TextChanged事件可有效控制TextBox控件的输入行为。本文详细演示如何仅允许输入数字或小数点,并利用ASCII码判断非法字符;同时展示如何通过TextChanged事件结合逻辑校验,将输入数值严格限制在指定范围内(如1-100),自动处理负数、首位小数点及多小数点场景,确保数据合法性。

C# 生成 JPG 缩略图字节数组函数

本文提供一段 C# 静态方法代码,用于将原始图片生成指定宽度、高度和质量参数的 JPG 格式缩略图,并直接返回 Byte[] 字节数组而非保存为文件。代码支持 HW(固定宽高)、W(按比例缩放宽)、H(按比例缩放高)及 Cut(等比裁切不变形)四种模式,利用 GDI+ 的 Graphics 对象进行高质量插值渲染。

C#读写TXT文件及XML数据的实用代码实现

本文详细讲解在C#中操作TXT文本文件和XML配置文件的完整方法。通过实例演示如何使用File、StreamWriter和StreamReader实现TXT的清空、追加与读取;同时介绍基于LINQ to XML(XDocument)的方式,包括XML文档结构定义、节点遍历获取属性值以及动态构建并保存XML数据的过程,附带标准API参考。

C# 项目中消除编译警告的常见方法汇总

本文总结了 C# 开发中常见的编译警告及其解决方案。涵盖在 .csproj 中配置 Nullable 上下文、使用 null 检查运算符 !、定义可为 null 的类型(?)、[NotNullWhen] 特性以及利用 string.Empty 初始化等方法。通过规范写法可有效消除因空引用风险或未使用变量产生的警告,提升代码整洁度。

C# 项目中消除编译警告的常见方法汇总

C# 基于 Socket 实现以太网 TCP 服务器

本文详解在 C# 中利用 System.Net.Sockets 命名空间构建以太网 TCP 服务器的完整流程。涵盖 Socket 类的实例化参数配置、本地 IP 绑定、监听队列设置以及多线程下的客户端连接接收(Accept)和数据异步读取,提供可直接参考的核心代码片段。

C#中async/await的正确用法:原理与避坑指南

本文深入解析C#中async和await关键字的协同工作原理。通过对比代码示例,阐明为何必须成对使用以维持业务逻辑顺序,以及未正确使用导致的执行混乱。同时揭示了当方法内部无实际异步操作时,async/await退化为同步执行的陷阱,并提供了提升效率的代码最佳实践,帮助开发者避免死锁和事务锁表问题。

C#中async/await的正确用法:原理与避坑指南

C#调用Windows API实现DLL内存注入原理与示例

本文介绍如何使用C#通过P/Invoke调用Windows Kernel32.dll系统API,结合VirtualAllocEx、WriteProcessMemory和CreateRemoteThread等核心接口,在指定目标进程中申请内存并加载自定义DLL文件。该方法利用LoadLibraryA机制实现代码执行环境驻留,适用于理解进程间通信与模块加载机制。

C# 使用 UDP 实现消息接收和发送详解

本文介绍在 C# 中利用 UDP 协议进行局域网消息通信的完整流程,涵盖服务端监听与客户端发送两个核心场景。提供基于 Socket 类和 UdpClient 类的双重代码实现,详细讲解 IP 绑定、端口配置及线程处理要点。结合 WinForm 界面示例展示完整操作,并说明调试时防火墙关闭等关键排错技巧,适用于需要轻量级、高效率网络数据传输的开发场景。

C# 使用 UDP 实现消息接收和发送详解