概述 在C#9.0下,record是一个关键字,微软官方目前暂时将它翻译为记录类型. 传统面向对象的编程的核心思想是一个对象有着唯一标识,封装着随时可变的状态.C#也是一直这样设计和工作的.但是一些时候,你就非常需要刚好对立的方式.原来那种默认的方式往往会成为阻力,使得事情变得费时费力.如果你发现你需要整个对象都是不可变的,且行为像一个值,那么你应当考虑将其声明为一个record类型. 所以record类型的实际是一个引用类型 ,但是他具有值类型的行为. 先来回顾一下引用类型,C# 中有两种类型…