C#代码整洁之道:代码重构与性能提升
上QQ阅读APP看书,第一时间看更新

3.10 数据结构体应当暴露数据而无须包含方法

结构体和类不同,它们使用值相等而非引用相等来进行比较。除此之外,结构和类的差异并不大。

数据结构体应当直接公开变量还是将变量隐藏在属性的getset之后,完全取决于你的选择。但我个人认为即使是结构体,也最好隐藏数据,仅仅通过属性或方法来访问数据。为了保持数据结构体的整洁和安全,建议结构体一旦创建就不要允许更改。这是因为当通过方法或get属性获得结构体对象时,对这个临时数据结构体的更改会被随即丢弃。

接下来将介绍如何定义简单的数据结构体。

数据结构体范例

以下代码展示了如何定义简单的数据结构体:

可见,数据结构体和类并没有多大差异,它们都可以包含构造器和属性。

让我们来总结一下本章的内容。