C# 结构(Struct)怎么用:值类型特性、定义方式与和类的区别
C# 的 `struct` 常被拿来和 `class` 对比,但真正影响代码行为的,是它“值类型”的特性。本文从定义方式、赋值复制、可包含的方法类型,到与类在传递和继承上的差异,梳理结构的核心用法与判断边界。
2026-08-22
128
C# 的 `struct` 常被拿来和 `class` 对比,但真正影响代码行为的,是它“值类型”的特性。本文从定义方式、赋值复制、可包含的方法类型,到与类在传递和继承上的差异,梳理结构的核心用法与判断边界。

本文围绕 SQL 中的 ROLLUP 用法展开,说明它如何按字段顺序生成小计与总计、如何识别结果中的汇总行,以及何时该改用 CUBE 或 GROUPING SETS。文中保留关键 SQL 写法,并补充了大表场景下的使用注意点。 在报表、经营分析和分层汇总场景里,很多人知道 ROLLUP 能“顺手带出总计”,但真正写到查询里时,往往会被层级顺序、 NULL 含义和标签显示。

SQL Server 存储过程给业务系统回传数据时,最常见的三条通道是 `SELECT`、`OUTPUT` 和 `RETURN`,但它们适用范围完全不同。本文按调用场景拆开说明:什么时候该回结果集,什么时候只回标量,为什么 `RETURN` 不能当业务数据通道,以及多结果集场景下客户端该如何正确消费。

很多 Java 初学者都会遇到这样的结果:两个看起来一样的字符串,用 `==` 有时是 `true`,有时却是 `false`。问题通常不在“字符串变了”,而在于常量池、堆对象以及 `==` 和 `equals()` 比较规则完全不同。把这三件事放在一起看,这类题和线上判等问题就不容易再踩坑。
