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);
相关推荐
Rsun045515 分钟前
10、Java 桥接模式从入门到实战
java·开发语言·桥接模式
jieyucx14 分钟前
Golang 完整安装与 VSCode 开发环境搭建教程
开发语言·vscode·golang
pearlthriving16 分钟前
c++当中的泛型思想以及c++11部分新特性
java·开发语言·c++
智慧地球(AI·Earth)25 分钟前
规则引擎实战:Python中re库和pyknow库规则引擎实战教程
开发语言·python·程序人生
小雅痞1 小时前
[Java][Leetcode hard] 42. 接雨水
java·开发语言·leetcode
We་ct1 小时前
AI辅助开发术语体系深度剖析
开发语言·前端·人工智能·ai·ai编程
t***5441 小时前
Dev-C++中哪些选项可以设置
开发语言·c++
輕華1 小时前
PyQt5入门实战:安装、QtDesigner设计与PyUIC转换完整指南
开发语言·qt
麻辣璐璐1 小时前
EditText属性运用之适配RTL语言和LTR语言的输入习惯
android·xml·java·开发语言·安卓
2301_803554522 小时前
C++ 并发核心:std::promise、std::future、std::async 超详细全解
开发语言·c++