Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨,我只是想知道为什么 C# 或 Java 中有值类型。为什么它们都不是引用类型?我可以看到我自己的两个原因:1)性能:所有常用的数据类型都是值类型,因为值类型有单轮,而引用类型有两轮,首先是堆栈,然后是堆。所以性能可能是原因。2)分配价值。任何帮助都将受到高度重视。谢谢
部分原因是性能,但更大的原因是由此产生的行为。您倾向于将整数(例如)视为不可变的值类型。但是,如果您正在处理一个对象,如果因为您正在修改副本而没有在调用方法中维护更新该对象中的字段,您会感到惊讶。