【发布时间】:2022-10-24 05:18:28
【问题描述】:
我最近发现了 C# 中的 record 关键字,并看到它可以用作 record struct,如果我理解正确的话,它可以用作值类型而不是引用类型。
但是,我很难理解何时使用record struct 而不仅仅是struct。据我所见,record struct 有一些结构没有的基本实现(如== 和!= 运算符、ToString 的覆盖以及其他一些东西),但仅此而已两者之间有区别吗?如果不是,在决定使用一种或另一种时需要考虑什么?
从我目前看到的方式来看,最好总是使用record struct 来利用它已经附带的那些实现。
【问题讨论】:
-
这归结为使用结构与类的问题,“记录”在这个问题中只是横向的。
-
@RodrigoRodrigues 问题与课程无关。这是关于
struct和record struct之间的区别(在 2021 年与 C# 10 一起引入)。据我所知,这是一个原始问题,以前在 StackOverflow 中从未被问过。 -
是的,我对问题的理解有误
标签: c# struct c#-9.0 c#-10.0 c#-record-type