我想知道当我们进行转换时对象会发生什么。对象的布局是否得到重组或方法表是否发生变化,或者只是为了确保我的分配在运行时不会中断?
最佳答案
诚实的回答是视情况而定。一些转换类型只涉及装箱和拆箱,这只是改变了代码在运行时的解释方式。底层对象实际上并没有改变。这种类型的转换涉及例如从 string
到 object
之间的转换(因为 string
是一个对象
,就像 C# 中的所有内容一样)。
http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx
或者,如果涉及自定义/用户定义的转换运算符,则任何事情都可能发生。 Actor 可以创建一个全新的对象,该对象代表所 Actor 的原始对象。这种类型转换的一个示例是将 int
转换为 string
。
关于c# - 在 .net 中转换期间对象会发生什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115249/