c# - 在 .net 中转换期间对象会发生什么变化?

标签 c# .net oop

我想知道当我们进行转换时对象会发生什么。对象的布局是否得到重组或方法表是否发生变化,或者只是为了确保我的分配在运行时不会中断?

最佳答案

诚实的回答是视情况而定。一些转换类型只涉及装箱和拆箱,这只是改变了代码在运行时的解释方式。底层对象实际上并没有改变。这种类型的转换涉及例如从 stringobject 之间的转换(因为 string 一个对象,就像 C# 中的所有内容一样)。

http://msdn.microsoft.com/en-us/library/yz2be5wk.aspx

或者,如果涉及自定义/用户定义的转换运算符,则任何事情都可能发生。 Actor 可以创建一个全新的对象,该对象代表所 Actor 的原始对象。这种类型转换的一个示例是将 int 转换为 string

http://msdn.microsoft.com/en-us/library/09479473.aspx

关于c# - 在 .net 中转换期间对象会发生什么变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23115249/

相关文章:

c# - 如果在异步等待后引发,为什么 ThreadAbortException 不会自动重新抛出?

c# - 如何在本地运行基于 C# 的 AWS Lambda 函数进行开发?

c# - 如何知道 MemberInfo 是否是属性的显式实现

c# - 如何将 "IStorageItem"的实现传递给 DataPackage.SetStorageItems(items) 并且不在 UWP 上引发 InvalidCastException?

c++ - 使用 C++ 操作符重载 : class with pointer datat members

c# - 保存父级时,嵌套的现有实体会重复

c# - 使用正则表达式匹配给定条件下的字符串

c# - Double 的 "=="运算符的定义

c++ - OOP C++ 第一个编译器错误

c++ - 设计类时,Constructor & Init 函数中应该包含哪些内容