Kotlin的数据类== C#的结构?

我之前和之后使用C#我们可以定义一个struct ,它将是一个值types。 我现在正在学习Kotlin,据我所知Kotlin data-class比较价值,可以通过价值复制等。在网上发现了一些讨论,但它不是直截了当,我希望有人熟练使用C#和Kotlin清楚这一点:我可以解释Kotlin的data class像一个C# struct并称之为一天吗? 如果不是,有什么区别?

Kotlin数据类和C#结构之间的主要区别在于Kotlin数据类仍然是 ,它们是通过引用传递的(一个引用types,用C#语言来讲)并存储在与其他对象相同的堆中(不可能使用JVM优化考虑)而不是堆栈,与其他对象的forms相同。

数据类的复制和平等检查实现只是生成到类的方法中,并以JVM自然的方式称为实例方法。

数据类与结构体有一些共同的局限性是由不同的原因造成的:例如,数据类是最终的,因为自动生成的函数的语义不清晰,这可能来自数据类的inheritance。