分享

as转换的问题

 XXG学习园 2012-10-16
object obj =123;
string str = obj as string;
这样得到的str的值为null的原因:
首先 虽然123值类型赋值给引用类型,发生了装箱操作,但是 obj 变量的类型对象仍然是 System.Int32 因为C#编译器和clr需要保证C#必须类型的安全,类型安全之一就是类型必须是明确,类型必须是唯一的。as 关键字,只会检测obj 是否兼容 System.String,但是当前的obj  的类型指针是System.Int32,所以既然不兼容,那么只能返回null了

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多