为什么valuetype在c#、Java等面向对象语言中存在?

本文关键字:面向对象语言 存在 Java valuetype 为什么 | 更新日期: 2023-09-27 18:03:40

嗨,我只是想知道为什么c#或Java中有值类型。为什么它们都不是引用类型?我有两个理由:1)性能:所有常用的数据类型都是值类型,因为值类型只有一轮,而引用类型有两轮,首先是堆栈,然后是堆。所以性能可能是原因。2)赋值。任何帮助将是高度赞赏。由于

为什么valuetype在c#、Java等面向对象语言中存在?

部分原因是性能,但更大的原因是产生的行为。您倾向于将整数(例如)视为不可变的值类型。但是,如果您正在处理一个对象,那么如果在调用方法中没有维护该对象中的字段更新,因为您正在修改副本,那么您将感到惊讶。