zoukankan      html  css  js  c++  java
  • 概念理解之装箱与拆箱

    装箱与拆
        装箱与拆箱是c#类型系统的核心.通过装箱与拆箱操作.能够在值类型与引用类型之间架起一座桥梁.换言之.可以轻松实现值类型与引用类型的相互转换.装相与拆箱能够统一考察类型系统.任何类型的值都可以按照对象进行处理.
    装相:把值类型转换为对象类型,或者转换为由值类型执行的接口类型.把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象.常见的装箱转换有以下4种:
    从任何值类型转换为:1:对象类型,2:system,valueType类型,3:值类型实现的任何接口类型以及从枚举类型转换为system.Enum类型.
    需要注意的是:装箱转换意味着复制一个欲被装相的值.这与引用类型转换为对象类型有着很大的不同.在后者中,转换后的值继续引用同一实例.只是将他当成对象类型而已.
    例子:
    int i=100;
    object obj=i;

    拆箱:拆箱相对于装相是一个反过程,其核心是将一个引用类型显示转换为值类型,或者是将一个借口类型转换为一个实现该接口的值类型.常见的拆箱操作也有4种:1:从对象类型转换为任何值类型2:从system.valueType类型转换为任何接口类型3:从任何接口类型转换为实现该借口的任何值类型4:从system.Enum类型转换为枚举类型.拆箱的过程分为两个步骤:1.检查对象实例是否是给定的值类型的装相值.2.将值从对象实例中复制出来.
    拆箱:
    int i=100;
    object obj = i;
    int j=(int)i;
  • 相关阅读:
    java的异常抛出和String类常用方法
    监控工具zabbix
    监控工具nagios
    监控工具cacti
    LB集群
    高可用集群(HA)配置
    vsftp虚拟用户登录配置详解
    Ubuntu中设置静态IP和DNS(转载)
    虚拟机克隆linux系统后需要做的网络设置
    CentOS 6.8编译安装httpd2.2.31+MySQL5.6.31+PHP5.3.27
  • 原文地址:https://www.cnblogs.com/tommyli/p/539882.html
Copyright © 2011-2022 走看看