C# 装箱和拆箱(以及 as ,is)

装箱(Boxing)是指将值类型转换为引用类型的过程

拆箱(Unboxing)是将引用类型转换回值类型的过程。

cs 复制代码
    int a = 1;
    object b = a; //装箱

    object obj = 10;
    int num = (int)obj; //拆箱


     ArrayList list= new ArrayList();

     list.Add(123);//装箱

     int i = (int)list[0];//拆箱

操作符 as is

cs 复制代码
  //  as  将对象转换成引用类型或者可控类型 如果转换不行,返回null 

  object obj = "你好";
  string str=obj as string;


  //  is  结果返回的是一个布尔值 用于判断是否是该类型

  object obj2 = "1234";
  Console.WriteLine(obj is string);
相关推荐
superman超哥2 小时前
迭代器适配器(map、filter、fold等):Rust函数式编程的艺术
开发语言·rust·编程语言·rust map·rust filter·rust fold·rust函数式
yuanmenghao2 小时前
自动驾驶中间件iceoryx - 同步与通知机制(二)
开发语言·单片机·中间件·自动驾驶·信息与通信
郝学胜-神的一滴3 小时前
Qt实现圆角窗口的两种方案详解
开发语言·c++·qt·程序人生
superman超哥3 小时前
Iterator Trait 的核心方法:深入理解与实践
开发语言·后端·rust·iterator trait·trait核心方法
冰暮流星3 小时前
javascript短路运算
开发语言·前端·javascript
kylezhao20193 小时前
在C#中实现异步通信
开发语言·c#
05大叔3 小时前
大事件Day01
java·开发语言
Legendary_0083 小时前
从DC接口改成Type-C:LDR6328芯片助力传统设备升级快充体验
c语言·开发语言
至为芯3 小时前
IP5385至为芯支持C口双向快充的30W到100W移动电源方案芯片
c语言·开发语言
月明长歌3 小时前
Javasynchronized 原理拆解:锁升级链路 + JVM 优化 + CAS 与 ABA 问题(完整整合版)
java·开发语言·jvm·安全·设计模式