为什么ValueTypes在面向对象语言中如C#,Java

时间:2013-03-13 17:37:20

标签: c# java oop

您好我只想知道为什么C#或Java中有值类型。为什么他们都不是参考类型?我可以看到自己的两个原因: 1)性能:所有常用的数据类型都是值类型,因为值类型有单轮,其中引用类型首先有两个回合堆叠然后再堆积。因此性能可能是原因。 2)分配值。任何帮助都将得到高度的关注。谢谢

1 个答案:

答案 0 :(得分:1)

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