C# .NET struct 全解析:什么时候该用值类型?

C# 里的 `struct` 常被简单概括为“轻量、快、放栈上”,但真正决定是否该用它的,是值语义、复制成本、装箱行为和类型设计方式。本文结合示例、内存分配场景与新特性,梳理 `struct` 与 `class` 的边界。 很多人把 C# 的 struct 简化理解成“更轻、更快、放在栈上”,但真正影响选型的,其实是值语义、复制成本和装箱行为。

C# .NET struct 全解析:什么时候该用值类型?

C# 12 集合表达式详解:用 `[...]` 统一数组、List 与 Span 初始化

C# 12 随 .NET 8 引入了集合表达式,用一套统一的 `[...]` 语法替代常见的数组、`List ` 等初始化写法。本文按“能解决什么、怎么写、支持哪些类型、使用时该注意什么”重新梳理这项特性,保留关键语法和示例,帮助你判断它是否适合在现有代码中落地。

C# 12 集合表达式详解:用 `[...]` 统一数组、List 与 Span 初始化

从 `new` 关键字开始,把 C# 类与对象真正讲清楚

这篇文章围绕 C# 中“类如何定义、对象如何创建”展开,从 `class`、字段、方法讲到 `new`、构造函数、属性,再延伸到 `static`、引用类型和值类型,以及命名空间和继承。读完后,你能判断一个成员该放在对象上还是类上,也能看懂对象创建与数据存储的基本行为。

从 `new` 关键字开始,把 C# 类与对象真正讲清楚

C# 条件与判断入门:if、else if 与 switch 怎么用

本文用一组入门示例梳理 C# 中最常见的条件判断写法,包括 `if`、`else if`、嵌套 `if` 与 `switch`。重点不只在语法,还会说明它们各自适合解决什么问题,帮助你在多分支逻辑里更快选对写法。 在 C# 里,条件判断几乎出现在所有基础业务逻辑中,但很多初学者刚接触时容易把 if 、 else if 、嵌套 if 和 switch 混着用。

C# 条件与判断入门:if、else if 与 switch 怎么用

使用 C# 高效解析 PDF 文档:文本与表格提取实战指南

本文以 Spire.PDF for .NET 为例,梳理 C# 解析 PDF 的实用路径:先完成 NuGet 安装与文档加载,再分别处理整页文本、指定区域文本和表格提取,最后补上性能、异常处理与资源释放要点,便于直接落地到批处理或业务系统。

使用 C# 高效解析 PDF 文档:文本与表格提取实战指南

一文搞懂 C#/.NET DateTimeOffset:时间戳、时区与偏移量全掌握

`DateTimeOffset` 是 .NET 里处理“绝对时间 + UTC 偏移量”的核心类型,适合跨时区、分布式和多语言系统。本文从结构、常用 API、构造与转换、格式化解析到和 `DateTime` 的差异逐项说明,帮助你判断什么时候该用它、怎么避免时间语义丢失。

一文搞懂 C#/.NET DateTimeOffset:时间戳、时区与偏移量全掌握

C# Dictionary 入门:用键值对告别低效遍历

这篇文章用库存示例梳理 C# `Dictionary ` 的核心用法,包括创建、增删改查、遍历方式,以及 `Add`、索引器、`TryGetValue`、`ContainsKey` 等常见方法的适用场景,帮助你判断什么时候该用它替代低效遍历。 C# 初学者很容易把很多“按条件找数据”的逻辑写成循环遍历,但只要数据天然带有唯一标识, Dictionary 往往就是更高效的选择。

C# Dictionary 入门:用键值对告别低效遍历