烽燧煜明 2025-09-11 16:03 采纳率: 75%
浏览 8
已结题

关于C#强制类型转换的问题

C#当中,是从string转成int开销小,还是从object转成int开销小?

  • 写回答

5条回答 默认 最新

  • threenewbee 2025-09-11 16:26
    关注

    首先你要搞清楚,强制类型转换发生在编译期间,所以根本不存在任何开销。
    而 string -> int,是不能“强制类型转换的”,它需要执行 int.Parse 或者 Convert.ToInt32 函数。
    而object->int要看情况,如果object存储的本身就是int,那么其实是 unbox 拆箱操作,这个 CLR 基本没开销。如果object是其他类,那么就要分情况讨论:如果这个类实现了隐式/显式类型转换操作符函数,那么开销就是执行一遍这个函数,如果没有实现,那么根本不能转换,直接报错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 9月11日