装箱和拆箱:任何值类型、引用类型可以和object(对象)类型之间进行转换。装箱转换是指将一个值类型隐式或显式地转换成一个object类型,或者把这个值类型转换成一个被该值类型应用的接口类型(interface-type)。把一个值类型的值装箱,就是创建一个object实例并将这个值复制给这个object,装箱后的object对象中的数据位于堆中,堆中的地址在栈中。被装箱的类型的值是作为一个拷贝赋给对象的。如:
int i = 10;
object obj = i; //隐式装箱
object obj = object(i); //显式装箱
if(obj is int) //int
Console.WriteLine(“OK”);

Console.WriteLine(obj.GetType()); //System.Int32

有两种方式来查看包装以后的引用对象中包装的原始数据的类型。要判断原始类型是否是某个给定的原子类型,用is;如果要返回一个字符串,可以用object类的GetType方法。
拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口地值类型。注意装箱操作可以隐式进行但拆箱操作必须是显式的。拆箱过程分成两步:首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,把这个实例的值拷贝给值类型的变量。比如:
int i = 10;
object obj = i;
int j = (int)obj;
有两种方式来查看包装以后的引用对象中包装的原始数据的类型。要判断原始类型是否是某个给定的原子类型,用is;如果要返回一个字符串,可以用object类的GetType方法。
拆箱转换是指将一个对象类型显式地转换成一个值类型,或是将一个接口类型显式地转换成一个执行该接口地值类型。注意装箱操作可以隐式进行但拆箱操作必须是显式的。拆箱过程分成两步:首先,检查这个对象实例,看它是否为给定的值类型的装箱值。然后,把这个实例的值拷贝给值类型的变量。比如:
int i = 10;
object obj = i;
int j = (int)obj;

C#“装箱”(boxing)与“拆箱”(unboxing)相关推荐

  1. 什么是装箱(boxing)和拆箱(unboxing)?

    将值类型转换为引用类型的过程称为装箱    反之称为拆箱

  2. Java 进阶——自动装箱和自动拆箱

    1.什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象实例的时候,我们会这样: Class a ...

  3. 自动装箱(autoboxing)和自动拆箱(unboxing)

    自动装箱和自动拆箱 前言 八种基本数据类型对应的包装类 一.自动装箱 二. 自动拆箱 前言 在任何情况下,都不能将对象强制转换成基本数据类型或基本数据类型强制转换为对象.Java中,基本类型和对象是完 ...

  4. java 自动装箱自动拆箱,java自动装箱、自动拆箱和正常情况性能比较

    自动装箱和自动拆箱是java5.0版本引入的,能自动将基本类型转换为对应的基本类型包装对象,那么我们比较一下他们的性能情况. package com.wmmad.test; import junit. ...

  5. java 自动装箱自动拆箱_自动装箱和自动拆箱

    自动装箱和自动拆箱 Java 提供了 8 种基本数据类型,每种数据类型都有其对应的包装类型,包装类是面向对象的类,是一种高级的数据类型,可以进行一些比较复杂的操作,它们是引用类型而不再基本类型了. 基 ...

  6. 自动装箱与自动拆箱的一些问题

    今天打算复习一下Java基础,之前学的太快速了,现在暑假,好好把那些细节看一下 复习到自动装箱和自动拆箱的时候,这里有个很有趣的现象 Integer n1 = 100; Integer n2 = 10 ...

  7. 第三次学JAVA再学不好就吃翔(part64)--自动装箱和自动拆箱

    学习笔记,仅供参考 自动装箱和自动拆箱 装箱:把基本类型转换为包装类类型 int x = 100; Integer i1 = new Integer(x); 拆箱:把包装类类型转换为基本类型 int ...

  8. 包装类,包装类的自动装箱和自动拆箱

    目标 1)包装类的作用, 2)掌握包装类的自动装箱和自动拆箱操作. 3)掌握包装类的转换操作. 具体内容 一切皆对象,八种基本数据类型不是对象. 把Int包装成一个类,这样的一个类就可以以对象的形式操 ...

  9. 深入理解自动装箱和自动拆箱

    一.什么是自动装箱.自动拆箱 此机制开始于jdk 1.5 java中有8种基本类型,对应8种基本类型有8个包装类. 整形 实型 布尔型 字符型 long/int/short/byte float/do ...

  10. 装箱和拆箱,自动装箱和自动拆箱

    装箱和拆箱,自动装箱和自动拆箱 以Integer的创建为例. 装箱和拆箱 装箱:把基本数据类型转换成包装类对象(int->Integer) Integer num1=new Integer(17 ...

最新文章

  1. 再谈 Promise
  2. 12道Python基础字符编码数据类型练习题
  3. 内向的人这样改善人际关系(四)
  4. H凹变换—lhMorpHConcave
  5. idle运行python_python中的idle是如何运行的
  6. 时频分析方法及其在发展性EEG数据中的应用
  7. 无人驾驶安全报告分析
  8. 他山之石——VBA SQL基础
  9. 机械制图计算机识图,机械制图基础知识
  10. 黑色星期五c语言程序,黑色星期五C语言实现
  11. 微信小程序的支付流程 —— 总结
  12. 弗吉尼亚理工大学计算机科学,弗吉尼亚理工大学计算机科学排名第45(2020年TFE美国排名)...
  13. macbook proa1708_苹果a1708是哪一年的
  14. Scratch编程初体验-小猫跳舞
  15. 蜗店SaaS系统功能介绍
  16. Hamibot 基于AutoJs的自动化安卓app小程序赚钱神奇
  17. C语言程序设计-同一天生日[综合应用]
  18. 水粉中的这两种绘画方法?你经常用哪种?
  19. 人工智能有那三样核心要素?痛点又在那里呢?
  20. java-php-python-ssm药房管理系统计算机毕业设计

热门文章

  1. 成员变量和成员函数分开存储
  2. 上机7 java异常处理,Java之异常处理【7】
  3. keras 的 example 文件 mnist_sklearn_wrapper.py 解析
  4. DenthDepth:深度估计(三维场景构建)——单目视觉挑战激光雷达
  5. Linux那些事儿 之 戏说USB(14)端点
  6. 【机器学习入门】(12) 特征工程:特征选择、数据降维、PCA
  7. 学习PCL库你应该知道的C++特性
  8. QString与string的相互转换
  9. 在Win 8.1上安装配置FlashDevelop5.0.0
  10. Blender钢铁机器人建模与动画全流程制作视频教程