栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么我不能将int开箱为小数?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么我不能将int开箱为小数?

您只能将值类型拆箱为其原始类型(以及该类型的可空版本)。

顺便说一句,这是有效的(只是您的两行版本的缩写):

object i = 4;decimal d = (decimal)(int)i; // works even w/o decimal as it's a widening conversion

出于此原因,请阅读Eric
Lippert的博客条目:表示和身份

就我个人而言,我将通过转换语法完成的工作归类为四种不同类型的操作(它们都有不同的IL指令):

  1. 装箱(
    box
    IL指令)和拆箱(
    unbox
    IL指令)
  2. 通过继承层次结构进行转换(如
    dynamic_cast<Type>
    C ++中一样,使用
    castclass
    IL指令进行验证)
  3. 基本类型之间的转换(像
    static_cast<Type>
    在C ++中一样,对于基本类型之间的不同类型的转换,有很多IL指令)
  4. 调用用户定义的转换运算符(在IL级别,它们只是对适当
    op_XXX
    方法的方法调用)。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465486.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号